如何从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

上一篇: How do you exclude a specific file from ack (ack

下一篇: include option for multiple file types?