현재 디렉토리 에서 단어를 포함 하지 않는 파일 을 어떻게 찾 습니까 (사용 )?foo
grep
답변
grep에 -L
(또는 --files-without-match
) 옵션이있는 경우 :
$ grep -L "foo" *
답변
살펴보십시오 ack
. .svn
자동으로 제외를 수행하고 Perl 정규 표현식을 제공하며 단일 Perl 프로그램의 간단한 다운로드입니다.
찾고있는 것과 동등한 것은 다음과 같습니다 ack
.
ack -L foo
답변
grep만으로도 찾을 수 있습니다.
grep -riL "foo" .
이것은 사용 된 매개 변수에 대한 설명입니다 grep
-L, --files-without-match
each file processed.
-R, -r, --recursive
Recursively search subdirectories listed.
-i, --ignore-case
Perform case insensitive matching.
l
(소문자) 를 사용 하면 반대 (파일이 일치하는 파일)가 표시됩니다
-l, --files-with-matches
Only the names of files containing selected lines are written
답변
다음 명령은 패턴을 포함하지 않는 모든 파일을 제공합니다 foo
.
find . -not -ipath '.*svn*' -exec grep -H -E -o -c "foo" {} \; | grep 0
답변
다음 명령은 찾기를 svn
사용하여 폴더 를 필터링하지 않아도됩니다 grep
.
grep -rL "foo" ./* | grep -v "\.svn"
답변
실제로 다음이 필요합니다.
find . -not -ipath '.*svn*' -exec grep -H -E -o -c "foo" {} \; | grep :0\$
답변
나는 행운을 빕니다
grep -H -E -o -c "foo" */*/*.ext | grep ext:0
내 시도는 grep -v
그냥 “foo”없이 모든 줄을 주었다.