2011-08-26 66 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