2011-08-26 62 views
31

如何在Linux上找到包含一些文本的文件而不是?基本上,我正在寻找以下如何在Linux上查找不包含文本的文本文件?

find . -print | xargs grep -iL "somestring" 
+1

所属的超级用户或unix.stackexchange.com –

+0

如果文件或目录名称中的一个包含空格,这不正常。使用'find。 -type f -exec grep -iL“somestring”+'(或'grep -r')。 – hagello

+0

[使用grep查找不包含给定字符串模式的文件]的可能重复(https://stackoverflow.com/questions/1748129/using-grep-to-find-files-that-dont-contain-a -given-string-pattern) –

回答

50

你引用的命令倒数,讽刺的是做你描述什么。 测试它!

echo "hello" > a 
echo "bye" > b 
grep -iL BYE a b 

只说一个。


我想你可能会产生混淆-l和-L

find . -print | xargs grep -iL "somestring" 

find . -print | xargs grep -il "somestring" 

顺便说逆,考虑

find . -print0 | xargs -0 grep -iL "somestring" 

或者前夕ñ

grep -IRiL "somestring" . 
+2

接受你的答案,它是我想要的find和grep -IRiL“somestring”的递归和反转。 – eon