![특정 파일 형식을 제외한 모든 파일을 grep하고 싶나요?](https://linux55.com/image/20775/%ED%8A%B9%EC%A0%95%20%ED%8C%8C%EC%9D%BC%20%ED%98%95%EC%8B%9D%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20grep%ED%95%98%EA%B3%A0%20%EC%8B%B6%EB%82%98%EC%9A%94%3F.png)
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