如何在 shell 上打印输出以仅显示包含以下 2 个字符串的行,而我不想看到任何其他行。
Changing
66824113
日志上的行是:
25 Jul 2024 08:25:41,252 [AWT-EventQueue-0] INFO : Changing TOTAL_QUANTITY to 5080000.00000000 trade_leg [66824113][1][]
25 Jul 2024 08:25:41,303 [AWT-EventQueue-0] INFO : Changing ACCRUED_INTEREST to 91763.85 trade_leg [66824113][1][]
现在我只想查看那些包含字符串“Changing”和“66824113”的行。
我尝试了很多命令,但似乎没有任何效果,因为它总是与我想要的行一起打印其他行,但我不想看到其他行。
grep -E '更改。*[66824113]' '文件名'
grep -P '(?=.?更改) (?=.?66824113)' '文件名'
cat '文件名' | awk '/更改/ && /[66824113]/
以上3点没有达到我的目的。
如果我正确理解你想要的问题:
-e 模式,--regexp=模式
使用 PATTERNS 作为图案。 如果多次使用此选项或与 -f (--file) 选项结合使用,则搜索 给出的所有模式。 该选项可用于保护模式 以“-”开头。
示例:
cat '文件名' | grep -e 更改 -e 66824113