无法在ack中添加类型

时间:2014-07-24 09:02:04

标签: ack

每次我尝试在ack中添加一个类型似乎都失败了,即在ack中添加一个类型(log

ack --type-set log:ext:log
ack: No regular expression found.

ack --type-add log:ext:log
ack: No regular expression found.

任何人都有这方面的线索或只是

2 个答案:

答案 0 :(得分:5)

如果您想尝试新的类型,请使用如下命令:

ack --type-set proj:ext:csproj --type proj "some search pattern"

这将显示给定类型的搜索结果。

如果您想永久保存该类型,则必须将以下行添加到$HOME/.ackrc

--type-set=proj:ext:csproj

有两点需要注意:

  • 第一个命令不会永久设置配置,只允许您尝试。
  • .ackrc文件中的第二行应该有=(等于)而不是空格。

更新(根据安迪莱斯特的回答):

而不是--type your_type_name,您只需编写快捷方式--your_type_name

答案 1 :(得分:3)

这样做:

ack --type-set=log:ext:log --log searchterm

或者如果您尝试忽略日志文件。

ack --type-set=log:ext:log --nolog searchterm

如果这个日志格式是你要引用的东西,那么你需要将这行添加到.ackrc文件中。每次运行ack时都会执行.ackrc中的参数。

有关详细信息,请参阅运行“ack --man”后的“定义自己的类型”。