我在文件FOO
和foo.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
个文件。
答案 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增加了一个更灵活的文件规范系统。