忽略带有ack-grep的* .egg-info目录

时间:2017-04-28 16:58:35

标签: python ack

我注意到ack-grep并没有忽略python与源代码一起创建的<module>.egg-info目录。我希望我能添加

--ignore-dir=*.egg-info
or
--ignore-file=ext:egg-info

作为一个catchall而无需手动将每个项目的.egg-info目录添加到〜/ .ackrc。

有没有办法在不必手动添加全部内容的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

在指定类型时,您可以使用相同的过滤系统来指定--ignore-dir。使用ack --dump查看默认设置,他们应该会告诉您如何执行此操作。 (以及在ack --man手册中查看&#34;指定您自己的类型&#34;

所以你可以这样做:

ack --ignore-dir=match:[.]egginfo$ whatever

请注意,当您使用match时,它是一个Perl正则表达式,而不是一个glob。这就是&#34;忽略名称末尾与.egginfo匹配的任何目录&#34;。 .是一个元字符,放在一个字符类([.])中以删除其特殊含义。您也可以使用\.,但这也会与shell混淆。

所以你可以将--ignore-dir=match:[.]egginfo$放在〜/ .ackrc中,不再担心了。

...

对于我们这些不熟悉Python生态系统的人,您能详细说明<module>.egg-info目录是什么,以及它们在何处以及如何创建?它基本上是一个构建目录吗?我是ack的作者,这听起来像是默认情况下ack可能有用的东西。