2011-08-26 3 views
31

은 리눅스에서 텍스트가 포함 된이 아닌 파일을 어떻게 찾을 수 있습니까? 기본적으로 나는 다음의 역수를 찾고 있습니다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을하고

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

가 그런데
find . -print | xargs grep -il "somestring" 

의 역
입니다 -l 같아요

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

또는 이브 N

grep -IRiL "somestring" . 
+2

당신의 대답을 받아들이면, 그것은 재귀 적이며, 내가 원한 발견의 반대가됩니다 : grep -IRiL "somestring". – eon

관련 문제