如何使用ack搜索文件名

Nad*_*dal 17 grep command-line find ack

我已经开始使用比 grep 快得多的 ack。但是使用 ack 我想搜索文件名而不是文件内容。有没有办法做到这一点?

小智 24

ack -g REGEX
Run Code Online (Sandbox Code Playgroud)

打印相对路径 + 文件名与 REGEX 匹配的文件


Lie*_*yan 17

使用正确的工具完成正确的工作。如果要搜索文件名,请使用“查找”:

$ # search for all *.txt file in current directory
$ find . -iname "*.txt"
Run Code Online (Sandbox Code Playgroud)

  • 嗯,ack(和grep)更好,因为除非您愿意,否则您不必明确说明正则表达式。我通常只是做一个 `find 。| 确认whatev.ext` (2认同)

And*_*ter 8

我同意如果您只是在搜索 *.txt 文件,那么使用 find 是有意义的。但是,ack 具有强大的文件类型检测功能,因此您可以使用

ack -f --perl
Run Code Online (Sandbox Code Playgroud)

它将根据文件名(*.pm、*.pl、*.t 和 *.pod)和 shebang 行找到所有 Perl 文件。