网站搜索

Silver Searcher - 程序员的代码搜索工具


Silver Searcher 是一款免费、开源、跨平台的源代码搜索工具,类似于 ack(面向程序员的类似 grep 的工具),但速度更快。它运行在类 Unix 系统和 Windows 操作系统上。

silver searcherack 之间的主要区别在于,前者是为速度而设计的,基准测试证明它确实更快。

如果您花费大量时间阅读和搜索代码,那么您需要这个工具。它的目的是快速并忽略您不希望被搜索的文件。在本指南中,我们将展示如何在 Linux 中安装和使用 The Silver Searcher

如何在 Linux 中安装和使用 Silver Searcher

silver searcher 软件包在大多数 Linux 发行版上都可用,您可以通过软件包管理器轻松安装它,如图所示。

sudo apt install silversearcher-ag					#Debian/Ubuntu 
sudo yum install epel-release the_silver_searcher		        #RHEL/CentOS
sudo dnf install silversearcher-ag					#Fedora 22+
sudo zypper install the_silver_searcher				#openSUSE
sudo pacman -S the_silver_searcher           				#Arch 

安装后,您可以使用以下语法运行ag命令行工具。

ag file-type options PATTERN /path/to/file

要查看所有支持的文件类型的列表,请使用以下命令。

ag  --list-file-types

此示例演示如何递归搜索目录~/bin/下包含单词“root”的所有脚本。

ag root ./bin/

要打印与 PATTERN 匹配的文件名以及每个文件中的匹配项数(而不是匹配行数),请使用 -c 开关,如图所示。

ag -c root ./bin/

要区分大小写匹配,请添加 -s 标志,如下所示。

ag -cs ROOT ./bin/
ag -cs root ./bin/

要打印搜索操作的统计信息,例如扫描的文件、花费的时间等,请使用 --stats 选项。

ag -c root --stats ./bin/

-w 标志告诉 ag 仅匹配类似于 grep 命令的整个单词。

ag -w root ./bin/

您可以使用 --column 选项在结果中显示列号。

ag --column root ./bin/

您还可以使用 ag 搜索纯文本文件,使用 -t 开关,-a 开关用于搜索所有类型的文本文件。文件。此外,-u 开关允许搜索所有文件,包括隐藏文件。

ag -t root /etc/
OR
ag -a root /etc/
OR
ag -u root /etc/

Ag 还支持使用 -z 标志搜索压缩文件的内容。

ag -z root wondershaper.gz

您还可以使用 -f 标志启用符号链接(简称符号链接)的跟踪。

ag -tf root /etc/ 

默认情况下,ag 搜索25 目录深度,例如,您可以使用--深度 开关设置搜索深度。

ag --depth 40 -tf root /etc/

有关更多信息,请参阅 silver searcher 的手册页以获取使用选项的完整列表。

man ag

要了解 silver 搜索器的工作原理,请参阅其 Github 存储库:https://github.com/ggreer/the_silver_searcher。

就是这样! Silver Searcher 是一个快速、有用的工具,用于搜索有意义的文件。它旨在帮助程序员快速搜索大型源代码库。您可以尝试一下并通过下面的评论表与我们分享您的想法。