Поиск по сайту:

The Silver Searcher - инструмент для поиска кода для программистов


The Silver Searcher — это бесплатный и с открытым исходным кодом многоплатформенный инструмент поиска по исходному коду, похожий на ack (инструмент, похожий на grep, для программистов), но более быстрый. Он работает на системах, подобных Unix, и операционных системах Windows.

Основное отличие между silver searcher и ack заключается в том, что первый разработан для скорости, и тесты производительности доказывают, что он действительно быстрее.

Если вы тратите много времени на чтение и поиск по вашему коду, то вам нужен этот инструмент. Он нацелен на то, чтобы быть быстрым и игнорировать файлы, которые вы не хотите искать. В этом руководстве мы покажем, как установить и использовать The Silver Searcher в Linux.

Как установить и использовать The 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

Этот пример показывает, как рекурсивно искать все скрипты, которые содержат слово “root ” в каталоге ~/bin/.

$ 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

Поиск содержимого в сжатых файлах

Вы также можете включить следование символическим ссылкам (коротко — symlinks) с помощью флага -f.

$ ag -tf root /etc/ 

По умолчанию, ag ищет на глубину 25 каталогов, вы можете установить глубину поиска с помощью переключателя --depth, например.

$ ag --depth 40 -tf root /etc/

Для получения дополнительной информации см. страницу руководства по silver searcher для полного списка вариантов использования.

$ man ag

Чтобы узнать, как работает Silver Searcher, смотрите его репозиторий на Github: https://github.com/ggreer/the_silver_searcher.

Вот и всё! The Silver Searcher — это быстрый и полезный инструмент для поиска по файлам, поиск в которых имеет смысл. Он предназначен для программистов, чтобы быстро искать по большой базе исходного кода. Вы можете попробовать его и поделиться своими мыслями с нами через форму комментариев ниже.