Linux 是否可以使用;及;及;不是";同一grep命令中的条件

Linux 是否可以使用;及;及;不是";同一grep命令中的条件,linux,grep,Linux,Grep,我需要在一个文件目录中搜索,它有pattern1但没有pattern2 查看grep的-v标志。您可以通过管道将多个对grep的调用连接在一起,这可能是这里最简单的方法。一个用于查找pattern1,另一个用于grep-v pattern2 grep pattern1 $(grep -L pattern2 *) 如果我正确理解你想要什么,这可能是最简单的方法-L表示“仅打印不包含此模式的所有文件的名称”;它与-l相反。如果文件名中包含空格或其他shell元字符,则此操作将无法正常工作。您可以将

我需要在一个文件目录中搜索,它有pattern1但没有pattern2

查看grep的-v标志。您可以通过管道将多个对grep的调用连接在一起,这可能是这里最简单的方法。一个用于查找pattern1,另一个用于grep-v pattern2

grep pattern1 $(grep -L pattern2 *)

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

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

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


弗朗西斯科这个问题模棱两可。是否希望pattern1的所有引用都出现在不包含pattern2的所有文件中?或者是否希望pattern1的所有引用(不包括也包含pattern2的线)?我的回答是假设前者,其他人似乎都假设后者。你在解析
ls
?您应该使用
find