我需要在具有pattern1但不是pattern2的文件的目录中进行搜索。
答案 0 :(得分:1)
查看grep的-v标志。您可以将多个调用一起传递给grep,这可能是最简单的方法。一个用于查找pattern1,另一个用于查找grep -v pattern2。
答案 1 :(得分:1)
grep pattern1 $(grep -L pattern2 *)
如果我理解你想要什么,可能是最简单的方法。 -L
表示“只打印不包含此模式的所有文件的名称”;它是-l
的倒数。如果您的名称中包含空格或其他shell元字符的文件,则无法正常工作。
答案 2 :(得分:0)
您可以将grep添加到第一个grep:
grep -r "this pattern" /path | grep -v "not this patten"
HTH
旧金山