首页 > 解决方案 > 使用 grep 的输出,在同一目录中的不同文件中 grep 另一个字符串/字符串

问题描述

一个目录中有2个文件。
simv.log 和 config.txt

simv.log 包含字符串“测试失败”。
config.txt 包含以下字符串:-
宽度
高度

我知道如何在 simv.log 中查找“测试失败”。
但是,如果 simv.log 包含“测试失败”,我希望在 config.txt 中查找“宽度”和/或“高度”。

我该怎么做呢?
您需要为此使用 awk 和/或 sed 吗?如果是这样,怎么做?

谢谢!

标签: grep

解决方案


为了实现这个链 2 greps 与 && 条件。在第一个 grep 中,结果行通过管道被抑制到 /dev/null 但返回代码用于运行第二个 grep 与否:

grep "test failed" simv.log >/dev/null && egrep 'width|height' config.txt

输出

width=10 
height=12

grep "test failed" otherlog.log >/dev/null && egrep 'width|height' config.txt

没有列出宽度和高度


推荐阅读