确认:搜索具有特定扩展名的文件的目录树

时间:2011-11-19 20:28:34

标签: ack

我基本上只想做 ack foo * .citrus 并让ack向下钻取并找到字符串' foo'在当前目录及以下的所有Citrus文件中。麻烦的是,如果当前目录中没有任何Citrus文件,这将无法正常工作。

我试图弄乱 -G 但没有成功。我真的需要在.ackrc中添加一个文件类型,只是为了限制搜索到具有给定扩展名的文件吗?

3 个答案:

答案 0 :(得分:14)

正如Andy Lester建议的那样,你也可以创建一个排版而不会麻烦地将其添加到.ackrc中:

ack --type-set=cit=.citrus --cit "foo"

答案 1 :(得分:12)

默认情况下,ack仅搜索具有已知类型的文件(如* .java,* .cpp等)。它不知道文件* .citrus,所以要搜索这些文件,你必须使用-a cmd行开关:

$ack -a -G '\.citrus$' foo
1.d/1.citrus
1:foo_bar

答案 2 :(得分:4)

如果你不想要,你不必在.ackrc中设置它。您还可以在您的环境中设置ACK_OPTIONS,或在命令行上指定--type-set arguments。 ack不在乎。