ack-grep 在 ubuntu 中确认

Fur*_*lon 19 linux ubuntu apt

我只是想知道,我最近安装了 ack(ubuntu 中的 ack-grep),我不知道如何只输入 ack 来获取 ack-grep(出于某种原因,ack 被汉字翻译器占用了)。

有没有比在 shell 中给东西取别名更好的方法(它不是全局的,例如不能在 vim 中调用它)。

非常感谢!

Sav*_*btz 20

在 Ubuntu/Debian 中,您可以“转移” ack-grep

sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep
Run Code Online (Sandbox Code Playgroud)


rap*_*ink 16

您链接或复制ack-grep到,/usr/local/bin以便它在 PATH 中获得优先权:

sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack
Run Code Online (Sandbox Code Playgroud)

或者,就像 davey 建议的那样,ack如果您不需要它,请摆脱它:

sudo apt-get remove ack
Run Code Online (Sandbox Code Playgroud)

另一种解决方案将涉及使用dpkg-divert来告诉dpkg你希望所有的包有自己的/usr/bin/ack本地重命名,然后链接ack-grepack路径。


小智 8

使用 Debian 替代系统。

$ update-alternatives --install /usr/bin/ack ack /usr/bin/ack-grep 100 \
--slave /usr/share/man/man1/ack.1p.gz ack.1p.gz /usr/share/man/man1/ack-grep.1p.gz
Run Code Online (Sandbox Code Playgroud)

该命令很难正确使用,但由于以下原因,该解决方案优于 dpkg-divert:

  1. 不强制或覆盖包安装
  2. 启用为联机帮助页设置从属链接

有关 Debian 替代品的更多信息,请访问:http : //wiki.debian.org/DebianAlternatives

安装替代方案可以调用 ack-grep asack并使用 阅读联机帮助页man ack


Nav*_*eed 7

最简单的方法是通过 cpan 安装 ack。它将安装在 /usr/local/bin 中,它优先于 /usr/bin。赶紧跑:

sudo cpan App::Ack
Run Code Online (Sandbox Code Playgroud)

或者如果您没有 cpan 客户端:

curl -L cpanmin.us | perl - --sudo App::Ack
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 10.04 LTS 上对我不起作用。错误消息:“别傻了,你不能安装 daniel bosold”。但是`sudo cpan -i App::Ack` 确实如此。 (2认同)

小智 7

最不引人注目:

别名 ack=ack-grep