我在本地机器上安装了 ack-grep,发现它对于在调试时快速“确认”代码库是必不可少的。
但是,在我的廉价共享主机上,没有 ack-grep。betterthangrep.com 上的一条评价提到了
Rube Goldberg 的 find/grep/xargs 混乱
这听起来就像我需要的,但却是来自相反的方向。
有谁知道它是什么吗?
答案1
实际命令名为ack
。(有些经销商可能ack-grep
因为名称冲突而将其重命名为。)官方网站确实是http://betterthangrep.com,并且它有一长串的安装方法,即使你的发行版没有ack
。
例如,您可以下载应用程序::确认来自 Perl 的 CPAN(使用减法):
cpanm --sudo App::Ack
或者获取“独立”版本:
curl http://betterthangrep.com/ack-standalone > ~/bin/ack
chmod +x ~/bin/ack
答案2
是的,你可以手动完成,事实上你应该知道如何手动完成。例如,如果你一直在做
ack function_name --php
你可以这样做(基本上)
find . -name '*.php' | xargs grep function_name
它输入起来比较长,你可以用它创建别名或 shell 脚本,但最好知道如何去做这件事,只是为了知道如何去做。
你的问题让我笑了,因为我通常听到的是老派的 Unix 专家说“你不需要ack
,只要使用find
,xargs
和grep
”。很高兴看到有人从另一个方向来解决这个问题。