1

我需要在包含 pattern1 但没有 pattern2 的文件目录中搜索。

4

3 回答 3

2

查看 grep 的 -v 标志。您可以将多个调用一起传递给 grep,这可能是这里最简单的方法。一个查找 pattern1,另一个查找 grep -v pattern2。

于 2013-04-06T04:43:04.317 回答
1
grep pattern1 $(grep -L pattern2 *)

如果我正确理解你想要什么,这可能是最简单的方法。 -L表示“只打印包含此模式的所有文件的名称”;它是 的倒数-l。如果您的文件名称中包含空格或其他一些 shell 元字符,这将无法正常工作。

于 2013-04-06T04:45:08.793 回答
1

您可以将 grep 添加到第一个 grep:

grep -r "this pattern" /path | grep -v "not this patten"

高温高压

弗朗西斯科

于 2013-04-06T04:47:41.513 回答