有没有办法根据前一个 grep 的结果执行 grep,而不仅仅是将多个 grep 相互传递。例如,假设我有以下日志文件输出:
ID 1000 xyz occured
ID 1001 misc content
ID 1000 misc content
ID 1000 status code: 26348931276572174
ID 1000 misc content
ID 1001 misc content
首先,我想 grep 整个日志文件文件,看看是否存在“xyz 发生”。如果是,我想获取该事件的 ID 号,并通过 grep 遍历文件中具有该 ID 号的所有行来查找状态代码。
我想象我可以使用 xargs 或类似的东西,但我似乎无法让它工作。
grep "xyz occured" file.log | awk '{ print $2 }' | xargs grep "status code" | awk '{print $NF}'
关于如何实际执行此操作的任何想法?