gpt4 book ai didi

linux - Grep:与 -e 和 -o 选项一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:11 25 4
gpt4 key购买 nike

需要在一次运行中解析大日志文件并打印找到的请求的 idaddressservice_name。问题是 service_name 在相当大的请求正文中。

如果我用 -e 列出所有模式选项 -

grep -e 'ID: [0-9]\+' -e 'Address: .*' -e ':Body><[^ ]*'

将打印完整的请求正文。

需要的是

grep -e 'ID: [0-9]\+' -e 'Address: .*' -o ':Body><[^ ]*'

grep -o 'ID: [0-9]\+' -o 'Address: .*' -o ':Body><[^ ]*'

仅打印请求正文中的第一个单词,即服务名称;

但在这种情况下 grep: :Body><[^ ]*: No such file or directory收到错误

UPD:解决方案 -oe正则表达式有效,但事实证明 -o显着减慢操作

最佳答案

如果您只想打印与这 3 个正则表达式匹配的文件的位,并且这三个正则表达式永远不会在同一行,您可以使用 \|,这是 grep 的逻辑或:

grep -o 'ID: [0-9]\+\|Address: .*\|:Body><[^ ]*' my.log

关于linux - Grep:与 -e 和 -o 选项一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com