Silver Searcher是一个免费的开源跨平台源代码搜索工具,类似于ack ( 类似于程序员的grep工具 ),但速度更快。 它运行在类Unix系统和Windows操作系统上。
银色搜索者和ack之间的主要区别在于前者是为速度而设计的,基准测试证明它确实更快。
如果您花费大量时间阅读和搜索代码,那么您需要使用此工具。 它旨在快速并忽略您不想搜索的文件。 在本指南中,我们将展示如何在Linux中安装和使用Silver Searcher 。
如何在Linux中安装和使用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个深度目录,例如,您可以使用--depth
开关设置搜索深度。
$ ag --depth 40 -tf root /etc/
有关更多信息,请参阅silver searcher的手册页以获取完整的使用选项列表。
$ man ag
要了解银色搜索器是如何工作的,请参阅其Github存储库: https : //github.com/ggreer/the_silver_searcher 。
而已! Silver Searcher是一个快速,有用的工具,用于搜索对搜索有意义的文件。 它适用于程序员通过大型源代码库快速搜索。 您可以尝试通过下面的评论表与我们分享您的想法。