如何从ack中排除特定文件(ack
使用普通的grep
命令有一个--exclude
选项(这里详细介绍:使用grep --exclude / - 包括语法,不通过某些文件grep),可以让你在grepping时忽略特定的文件。
Ack的--type
选项可以处理95%的您想要排除文件的情况,但它不会处理排除特定文件的情况(据我所知)。 我有一个编译后的JS文件,其中包含了其他每个JS文件的内容(在一行中),所以每次我对任何内容进行grep时,都会得到这个巨大编译文件的全部内容。
我讨厌不得不放弃,并回到grep这一点,但它真的很烦人。 请有人告诉我,有一种方法可以从ack搜索中排除特定的文件。
不,ack 1.x不会让你排除单个文件。 在ack 2.0中,你可以。 ack 2.0目前在其第一个alpha版本中是现在推荐的ack版本。
至于你的具体案例的缩小Javascript文件,你使用的是什么版本的ack? ack 1.96应忽略基于扩展名的缩小JavaScript。 如果扩展检查不起作用,那么您可能会自行确认,因为它是一个单独的Perl程序。 你可以破解is_searchable
函数。
在ack 2.0中,我们正在考虑忽略任何超过500个字符的行,因为它显然不是源代码。
您可能还想加入我们的ack-users邮件列表。 我们非常敏感。
要使用ack 2.0忽略单个文件,请为--ignore-file标志提供一个过滤器规范:
--ignore-file=is:cljout.js
如果你运行ack --create-ackrc
它会输出一大堆预置给常用文件,如缩小的javascript,css和像node_modules和.git这样的目录。 很有用!
这里是缩小的js选项:
# minified Javascript
--ignore-file=match:/[.-]min[.]js$/
--ignore-file=match:/[.]js[.]min$
如果你想保存这个到.ackrc
运行
ack --create-ackrc >> ~/.ackrc
然后从该文件中删除不需要的内容。
链接地址: http://www.djcxy.com/p/47243.html