使用普通的 grep
命令时,有一个 --exclude
选项(在这里有详细介绍:使用 grep --exclude/--include 语法不搜索特定文件),它可以让你在 grepping 时忽略特定文件。
Ack 的 --type
选项可以处理95%的需要排除文件的情况,但是它似乎不能处理排除特定文件的情况。我有一个编译过的 JS 文件,其中包含每个其他 JS 文件的内容(单行),因此每次 grep 任何内容时,都会返回该巨大编译文件的全部内容。
我不想因为这个问题而放弃 ack 并回到 grep,但这真的很烦人。请问有没有办法在 ack 搜索中排除特定文件?
match
来匹配文件名,使用ext
来匹配扩展名。通过添加--ignore-file=ext:js
可以排除 js 文件。通过添加--ignore-file='match:/foo|bar/'
可以排除名称为 foo 和 bar 的文件。如果正则表达式中含有|
,请用引号转义参数,以防止 shell 将其解释为管道符。 - xtreak