2016-09-16 46 views
1

在bash中,如何列出不包含给定字符串的文件?不包含模式的列表文件


鉴于

grep --include=*.c -rlw './' -e "pattern" 

回报,我期待的是

grep --include=*.c -rlwv './' -e "pattern" 

将返回不匹配模式中的任何文件,但它只是返回所有的模式相匹配的任何文件不管它们是否与图案匹配,文件都是如此。

+0

该命令是为我工作的罚款 – anubhava

+1

'-v'表示匹配该行不包含模式。因此,您的命令将列出包含与该模式不匹配的行的所有文件。这并不意味着**没有**线符合模式。 – Barmar

+0

从结果中排除的唯一文件是** all **行匹配模式的文件。 – Barmar

回答

3

你可以尝试使用-L选项:

grep -L -r -i --include \*.c "pattern" ./ 
0

您可以使用-v选项也

grep -v -rwl "pattern"