使用 GREP 命令已在 Linux 和类 Unix 操作系统中广泛使用。 它可以在一堆代码或字符串中找到语法、特定文本等。 使用 GREP 命令并不总是值得从文件系统或存储库中查找特定值或过滤某些数据集。 当我们需要运行一些存储库级别的命令来搜索值和运行查询时,Linux 中 Ack 命令的主要用例会突出显示。
在 Linux 中,您可以轻松地在终端 shell 上使用 GREP 命令。 您可能会惊讶地发现,许多 Linux 高级用户已经在使用 Ack 命令来替换 GREP 命令。 但是,GREP 和 Ack 命令都输出相同类型的结果,但它们各有优缺点。
Linux 上的确认命令
在 Linux 系统上使用 Ack 命令非常简单且轻松。 安装好之后就可以在shell上执行Ack命令了。 默认情况下,该命令未安装在系统上。
在 Linux 中,Ack 命令可以从变量、文件、字符串和存储库中查找数据。 除了查找和定位值之外,此命令还可用于查找具有许多其他扩展名的文件。 Ack 工具是用 C 编程语言编写的。 在这篇文章中,我们将了解如何在 Linux 中安装 Ack 命令以及如何使用它。
第 1 步:在 Linux 上安装 Ack
在 Linux 上使用 Ack 命令的步骤就是在系统上安装该工具。 在 Linux 上安装 Ack 命令不需要任何额外的第三方应用程序或工具。 Ack 工具已经在官方 Linux 存储库中可用,可以通过官方包安装程序命令安装在所有主要的 Linux 发行版上。
请使用适用于您的 Linux 发行版的命令从下面提到的安装列表中获取系统上的 Ack 工具。 在执行命令之前,请确保您具有 root 访问权限并且系统存储库是最新的。
- 在 Ubuntu/Debian Linux 上安装 Ack 工具
$ sudo apt-get install ack-grep
- 开启确认工具 Fedora/红帽 Linux
$ sudo yum install ack-grep
- 在基于 Arch 的 Linux 系统上安装 Ack
$ sudo pacman -S ack-grep
- 在 SuSE Linux 上安装 Ack
$ sudo zypper install ack-grep
安装结束后,您现在可以开始在 shell 上使用 Ack 命令。 对于初学者,您可以在终端 shell 上打印 Ack 手册。
man ack
第 2 步:在 Linux 上安装 Git
在这一步中,我们将安装 Git 工具以访问 Git 存储库,以便在 Linux 上进一步使用 Ack 命令。 现在,您可能会想,为什么我们需要使用 git 来开始使用 Ack 命令? 好吧,既然我们将完成在存储库中搜索和查找数据以测试 Ack 工具的过程,那么在访问存储库方面还有什么比 Git 更好的方法。
但是,要在您的系统上安装 Git,请根据您的发行版在具有 root 访问权限的终端 shell 上执行以下命令。
- 在 Debian/Ubuntu Linux 上获取 Git
$ sudo apt-get install git
- 在 Red Hat 上安装 Git 和 Fedora 工作站
$ sudo yum install git
- 运行以下命令在 Arch 和基于 Arch 的系统上安装 Git
$ sudo pacman -S git
- 在 SuSE 和 openSUSE Linux 上获取 Git
$ sudo zypper install git
第 3 步:克隆 Git 存储库
在我们的系统上正确安装了 Git 之后,我们现在将在我们的文件系统上从 Git 克隆 Neovim 存储库,这是著名的 Vim 脚本编辑器的另一个版本。 如果您是 Git 新手,请阅读这篇文章以了解有关 Git 命令的更多信息。
但是,一旦我们都设置好 Ack 和 Git,我们现在可以在我们的文件系统上克隆 Neovim git 存储库并运行一些 Ack 命令来检查命令的功能。
$ git clone https://github.com/neovim/neovim.git
当 Git 克隆结束时,运行以下 cd 命令浏览 Neovim 目录。
$ cd neovim && ls
第 4 步:在 Linux 上执行一组 Ack 命令
到目前为止,我们已经在我们的文件系统上安装了 Git、Ack 并下载了 Neovim Git 存储库。 我们现在将运行一些 Ack 命令并检查它们是否符合我们的预期水平。
1. 通过 Ack 搜索值
当您搜索大型存储库时,我们需要面对的最烦人的事情是向下滚动直到结果。 好吧,在 Linux 中,您可以使用以下带有 ACK 的 echo 命令,使用语法“less”来在当前终端窗口中找到所需的值。
$ echo '--pager=less -RFX' >> ~/.ackrc
如果您想找出存储库中有多少文件,您可以随时执行以下 find 命令。 但是使用 ACK 命令会给你更准确的输出。 Linux 上的以下 Ack 命令将帮助您获得更理想的结果。
$ find . | wc -l $ ack -f | wc -l
2.寻找模式
如果需要查找输出模式或具有特定方向的字符串,可以使用 ACK 命令。 例如,以下命令将在存储库中查找字符串“restrict”的模式。 请注意,此命令将查找具有部分匹配或完全匹配的数据。
$ ack restrict
如果您需要查找单词类型的输出,而您只想查看与查询完全匹配的值,则需要使用 -w(单词)语法在终端 shell 上运行以下 ACK 命令。
$ ack -w restrict
如果您需要在 Python、C 和其他脚本等编程脚本中查找查询的匹配项,您可以直接告诉 ACK 命令在脚本中查找值。 例如,以下 ACK 命令将打印 Python 脚本的查询结果。
$ ack -w --python restrict
下面提到的命令将打印找到查询(限制)的所有数据类型。 下一个命令将打印找到数据的行数。
$ ack -c restrict $ ack -ch restrict
结束词
如果您已经有用于执行所有任务的替代命令,则使用新命令可能需要一段时间。 因此,在 Linux 中,使用新命令总是很有趣和令人兴奋的。 Ack 命令可能已经稍微取代了 GREP 命令,但 GREP 的必要性仍然不可否认。 在整篇文章中,我们看到了如何在 Linux 机器上安装和使用 ACK 命令。
如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。