使用普通grep命令有一个--exclude选项(这里详细介绍:使用grep --exclude/ - include语法来不通过某些文件),可以让你在grepping时忽略特定的文件.
Ack的--type选项可以处理95%你想要排除文件的情况,但它没有(据我所知)处理排除特定文件的情况.我有一个已编译的JS文件,其中包含其他每个JS文件的内容(在一行上),所以每当我grep 任何东西时,我都会找回那个巨大的编译文件的全部内容.
我不想放弃ack并回过头来讨论这个问题,但这真的很烦人.请有人告诉我,有一种方法可以从ack搜索中排除特定文件.
jbo*_*man 100
要使用ack 2.0忽略单个文件,请为--ignore-file标志提供过滤器规范:
--ignore-file=is:cljout.js
Rim*_*ian 11
如果你运行ack --create-ackrc它将为常见文件输出一大堆预设,如minified javascript,css和node_modules和.git等目录.很有用!
这是缩小的js选项:
# minified Javascript
--ignore-file=match:/[.-]min[.]js$/
--ignore-file=match:/[.]js[.]min$
Run Code Online (Sandbox Code Playgroud)
如果要保存此项以.ackrc运行
ack --create-ackrc >> ~/.ackrc
Run Code Online (Sandbox Code Playgroud)
然后从该文件中删除不需要的内容.