是否可以在同一个grep命令中使用“AND”和“NOT”条件

时间:2013-04-06 04:41:04

标签: linux grep

我需要在具有pattern1但不是pattern2的文件的目录中进行搜索。

3 个答案:

答案 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

旧金山