如何使用ack查找没有单词TEST的文件

时间:2010-05-14 14:41:42

标签: regex ack

我爱ack。

我需要在除测试文件之外的所有文件中搜索“foo”。

ack有选项-G来指定正则表达式。但是我不知道如何为查找所有文件而忽略带有'test'字样的文件编写正则表达式。

2 个答案:

答案 0 :(得分:0)

^(?!.*test.*).*$

答案 1 :(得分:0)

从ack 2.0开始,您需要指定文件类型,然后根据该文件类型进行过滤。在这种情况下,您要跳过其中包含单词test的文件:

ack --type-set testfiles:match:'test' --type=notestfiles pattern

注意:我使用的是文件类型testifies的否定字,因此我根据文档将no附加到了文件类型:

  

-type = noX排除X文件。                                   有关受支持的文件类型,请参见“ ack --help-types”。