Answers:
如果您有GNU grep
,则可以使用该--exclude=GLOB
选项,例如
grep -r --exclude='*.sql' pattern dir/
这将为您做到这一点,并排除.sql和.txt文件:
find /some/dir -type f ! -name '*\.sql' ! -name '*.txt' -print0 | xargs -0 grep 'foobar'
但是,听起来ack将是您尝试做的更好的工具:
ack -a --nosql 'foobar' /some/dir
ack - a --nobinary
包括二进制文件