2016-09-16 71 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"