如何仅在包含“字符串 2”的文件中用 grep 搜索“字符串 1”?

如何仅在包含“字符串 2”的文件中用 grep 搜索“字符串 1”?

有时我需要在多个文件中搜索特定字符串,但只有当这些文件包含第二个特定字符串时结果才有意义,而不一定与第一个特定字符串位于同一行。

答案1

grep -ril 'string 1' * | xargs grep -rin 'string 2'

-l 仅包含文件名而不是匹配的行本身。xargs 从第一个 grep 的标准输出中读取要搜索的文件。

相关内容