使用ack搜索没有扩展名的文件

时间:2013-07-19 16:48:50

标签: grep ack

我在文件FOOfoo.cc中包含了一些文字“bar”。

有没有办法告诉ack-grep搜索没有扩展名的文件(即FOO)?

我尝试过这样的事情:

ack-grep --type-set=foo=FOO bar

返回foo.cc中的文本,但不返回文件FOO。

我还将--type-set添加到我的.ackrc文件中,调用

ack-grep --help-types

表明ack-grep正在寻找.FOO个文件。

3 个答案:

答案 0 :(得分:2)

我的ack版本是2.12。贝娄的指挥应该有效。

$ ack --type-set make:is:Makefile --type=make string-pattern

同样,

$ ack --type-set foo:is:FOO --type=foo string-pattern

答案 1 :(得分:1)

您可以将ack-grep的{​​{1}}(搜索所有内容)与-a合并(仅搜索与给定正则表达式匹配的文件)。类似的东西:

-G

应该这样做。

在ack2下,你必须定义一个自定义类型:

ack-grep -a -G '^[^.]+$' what-to-search-for

适合我。

答案 2 :(得分:1)

你无法用ack 1.x做你想做的事。您需要升级到ack 2.0

ack 1.x没有办法处理没有扩展名的文件。 ack 2.0增加了一个更灵活的文件规范系统。