Silver Searcher - プログラマのためのコード検索ツール


The Silver Searcher は、 ack (プログラマーのためのgrep風のツール)に似た無料のオープンソースのクロスプラットフォームのソースコード検索ツールですが、高速です。 UnixライクなシステムとWindowsオペレーティングシステムで動作します。

シルバーサーチャー ack の大きな違いは、前者はスピードを重視して設計されていること、そしてベンチマークテストはそれが本当に速いことを証明していることです。

あなたがあなたのコードを読んでそして探すことに多くの時間を費やすならば、あなたはこのツールを必要とします。高速であり、検索したくないファイルを無視することを目的としています。このガイドでは、 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

この例では、ディレクトリ〜/ 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/

-t スイッチと -a スイッチを使用して純粋なテキストファイルを検索するには、 ag を使用することもできます。ファイルさらに、 -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/

詳細については、検索オプションの詳細なリストについては、銀の検索者のマニュアルページを参照してください。

$ man ag

銀の検索者がどのように機能するのかを調べるには、Githubリポジトリhttps://github.com/ggreer/the_silver_searcherを参照してください。

それでおしまい! The Silver Searcher は、検索に意味のあるファイルを検索するための高速で便利なツールです。これはプログラマーが大規模なソースコードベースを素早く検索するためのものです。あなたはそれを試してみることができますし、以下のコメントフォームを介して私達とあなたの考えを共有することができます。