如何使用ack搜索文件名


16

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

Answers:


16

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

$ # search for all *.txt file in current directory
$ find . -iname "*.txt"

1
非常真实 “一旦您手中拿着锤子,一切都会开始看起来像钉子” :)
akira 2010年

2
好吧,ack(和grep)更好,因为除非您愿意,否则您不必对正则表达式明确。我通常只做一次find . | ack whatev.ext
Ehtesh Choudhury

这也适用于查找目录。
Pratik Khadloya 2012年

1
find和ack的行为有所不同,因为默认情况下ack会过滤掉find会包含的许多结果(版本控制目录的内容,源存储库中的已编译对象)。最好的锤子取决于您想要的结果。
2015年

1
这不能回答问题……
lajarre


7

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

ack -f --perl

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.