특정 파일 형식을 제외한 모든 파일을 grep하고 싶나요?

특정 파일 형식을 제외한 모든 파일을 grep하고 싶나요?

grep특정 폴더에서 파일(여러 파일 형식 제외)을 반복하는 방법은 무엇입니까 ?

예를 들어 작업 영역 폴더에서 문자열을 찾고 있는데 결국 sql 파일에서 검색하고 직렬화된 문자열을 생성하게 됩니다.

grep따라서 이 경우에는 작업 공간 폴더(sql 파일 제외)가 필요합니다 .

가능하다면 한 줄짜리를 찾는 것이 좋습니다.

답변1

GNU가 있다면 다음과 같이 이 옵션을 grep사용할 수 있습니다 .--exclude=GLOB

grep -r --exclude='*.sql' pattern dir/

답변2

이렇게 하면 .sql 및 .txt 파일이 제외됩니다.

find /some/dir -type f ! -name '*\.sql' ! -name '*.txt' -print0 | xargs -0 grep 'foobar'

그러나 그것은 다음과 같이 들린다확인하다이것은 당신이 하고 싶은 일을 위한 더 나은 도구가 될 것입니다:

ack -a --nosql 'foobar' /some/dir

관련 정보