2011-08-26 26 views
31

Làm cách nào để tìm các tệp không phải chứa một số văn bản trên Linux? Về cơ bản, tôi đang tìm kiếm sự đảo ngược của sau đâyCách tìm tệp văn bản không chứa văn bản trên Linux?

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

thuộc về superuser hoặc unix.stackexchange.com –

+0

này không làm việc một cách chính xác nếu một trong các tập tin hoặc thư mục tên chứa một khoảng trắng. Sử dụng 'tìm. -type f -exec grep-iL "somestring" + '(hoặc' grep -r'). – hagello

+0

Bản sao có thể có của [Sử dụng grep để tìm tệp không chứa mẫu chuỗi nhất định] (https://stackoverflow.com/questions/1748129/using-grep-to-find-files-that-dont-contain-a -given-string-pattern) –

Trả lời

50

Lệnh bạn trích dẫn, trớ trêu thay đủ chính xác những gì bạn mô tả. Kiểm tra!

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

Chỉ nói.


Tôi nghĩ rằng bạn có thể -L khó hiểu và -l

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

nghịch đảo của

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

Bằng cách này, hãy xem xét

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

Hoặc đêm trước n

grep -IRiL "somestring" . 
+2

chấp nhận câu trả lời của bạn, nó đệ quy và nghịch đảo của tìm thấy tôi muốn: grep -IRiL "somestring". – eon

Các vấn đề liên quan