存档

2015年4月 的存档

比 grep 强悍太多的文本检索工具 ACK

2015年4月24日 1 条评论

对程序员来说, grep, cat, 真心是伟大的前辈们赐予我们这些晚辈最好的礼物, 不会用 grep, cat 之类程序员真心没有出息.

但是不知是否有人经常使用以下的语法, 而且感到要是 grep 要是在智能一点就好了

$ grep terminate_instance $(find . -name '*.py' | grep -v tests)

不错, awk 就是为了满足我们希望 grep 更好用这样的前提下被开发出来的, 首先从他的 官网 beyondgrep.com 就可以看出来 🙂 官网给出比 grep 好的理由是:

  • 速度非常快 因为它只搜索有意义的东西.
  • 更好的搜索方案 默认忽略那些不是你想搜索的源码的东西, .e.g. git, svn 目录
  • 为源代码搜索而设计 用更少的击键完成任务
  • 移植性非常好 该程序用 Perl 完成的, 可以在几乎所有主流平台上使用, windows, mac, linux 等
  • 免费开源

Table of Contents

安装

不求那些炫酷的安装方式, 在 一般的 linux 平台, 用包管理器, 比如在 centos/fedora:

# yum install -y ack

在 OSX, 使用 brew

$ brew install ack

使用

回到文首的那个用法, 现在可以很简单的用 ack 来完成, 而且速度暴快:

$ ack --python --ignore-dir=tests terminate_instance

该程序的一般使用很简单:

$ ack --type PATTERN

其中 type 指定需要搜索的源代码类型, 比如 –python, 其它大部分选项和 grep 一样, 文档是说 99%.

高级使用

请参考 官网

分类: Tools 标签: