每次我尝试在ack中添加类型似乎都失败,即在ack中添加一个type(log
)
ack --type-set log:ext:log
ack: No regular expression found.
Run Code Online (Sandbox Code Playgroud)
要么
ack --type-add log:ext:log
ack: No regular expression found.
Run Code Online (Sandbox Code Playgroud)
任何人都有这个或它的线索
如果您想尝试一种新的类型,请使用以下命令:
ack --type-set proj:ext:csproj --type proj "some search pattern"
Run Code Online (Sandbox Code Playgroud)
这将显示给定类型的搜索结果。
如果要永久保存类型,则必须将以下行添加到您的$HOME/.ackrc
:
--type-set=proj:ext:csproj
Run Code Online (Sandbox Code Playgroud)
有两件事要注意:
.ackrc
文件中的第二行应包含=
(等于)而不是空格。更新(从安迪·莱斯特的答案中得出):
代替--type your_type_name
您可以只写快捷方式--your_type_name
。
像这样做:
ack --type-set=log:ext:log --log searchterm
Run Code Online (Sandbox Code Playgroud)
或者如果您试图忽略日志文件。
ack --type-set=log:ext:log --nolog searchterm
Run Code Online (Sandbox Code Playgroud)
如果您要经常引用此日志格式,那么您需要将该行添加到您的 .ackrc 文件中。每次运行 ack 时都会执行 .ackrc 中的参数。
有关更多信息,请参阅运行“ack --man”后的“定义您自己的类型”。