grep除了几种文件类型之外,如何在给定文件夹中递归文件?
例如,我正在我的工作区文件夹中寻找一个字符串,但它最终会在 sql 文件中搜索并生成序列化的字符串。
所以在这种情况下,我想要grep除 sql 文件之外的工作区文件夹。
如果可能的话,我最好寻找单线。
jw0*_*013 66
如果您有 GNU grep,则可以使用该--exclude=GLOB选项,例如
grep -r --exclude='*.sql' pattern dir/
Run Code Online (Sandbox Code Playgroud)
Mar*_*try 10
这将为您执行此操作并排除 .sql 和 .txt 文件:
find /some/dir -type f ! -name '*\.sql' ! -name '*.txt' -print0 | xargs -0 grep 'foobar'
Run Code Online (Sandbox Code Playgroud)
但是,对于您要执行的操作,听起来ack将是一个更好的工具:
ack -a --nosql 'foobar' /some/dir
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74120 次 |
| 最近记录: |