确认通过 .htaccess 或其他点文件进行搜索
有没有办法让 ack 搜索文件名以 .
开头的文件(例如 .htaccess),而无需求助于 --all
或 - -无限制
选项?
我尝试将以下内容添加到我的 ~/.ackrc
文件中,但无济于事:
--type-set=apache=.htaccess
Is there any way to get ack to search through a file whose filename starts with a .
(e.g. .htaccess), without resorting to the --all
or --unrestricted
options?
I've tried adding the following to my ~/.ackrc
file to no avail:
--type-set=apache=.htaccess
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看起来 ack 无法识别全是扩展名的文件名;也就是说,当您指定“.htaccess”扩展名时,ack 只会查找该扩展名之前至少有一个字符的文件。
要解决此问题,您可以将
-u/--unrestricted
与-G regex
标志结合使用(将搜索限制为名称与正则表达式匹配的文件)。例如:It would appear that ack doesn't recognize a filename that's all extension; that is, when you specify an extension of ".htaccess", ack only looks for files with at least one character before that extension.
To get around this, you can use
-u/--unrestricted
in combination with the-G regex
flag (to restrict the search to files whose names match a regex). For example:更新了 @Sean 对 Ack 2 的答案
,因为他们删除了 @Sean 使用的两个标志
ack 2 发行说明 说:
并且不再需要 -u(无限制)标志。所以你想要的是:
或者,就此而言,只需使用 find 生成文件列表(对于在点文件夹中查找文件特别有用):
Updated @Sean's answer for Ack 2
since they removed the two flags that @Sean used
ack 2 release notes say:
and the -u (unrestricted) flag is not needed any more. So what you want is:
Or, for that matter, just use find to generate the file list (especially useful to find a file in a dotfolder):
你不能在 ack 1.x 中做到这一点。 ack 2.0 将有更灵活的指定文件的方式。
You can't do it in ack 1.x. ack 2.0 will have more flexible ways of specifying files.