ack 是一个代码搜索工具,作者 厌烦了 grep 复杂的语法,所以创造了 ack 来解决痛点。ack 使用 Perl 语言开发,使用友好,速度快。ack 在大量代码文件中的搜索效率极高。
安装
sudo apt-get install ack-grep
使用
文本搜索
默认情况下 ack-grep
会搜索当前目录下所有文件内容,只要包含关键字就会输出。
ack-grep keyword
ack-grep -l keyword # 只显示文件名
ack-grep -i keyword # 忽略大小写
ack-grep -w keyword # 强制要求 PATTERN 匹配整个单词
查找文件
可以代替 find 加 grep,其实 ack 的 -f
选项表示的是打印所有将要被搜索的文件,事实上不会执行搜索,如果后面加 PATTERN ,那么就在路径中搜索文件名。-g
选项表示的是搜索当前路径下的符合 PATTERN 的文件。
ack-grep -f filename
ack-grep -g file*
过滤文件
可以使用 --python
选项来指定在 python 文件中搜索
ack-grep --python keyword