Linuxで特定の文字列を含むファイルを超高速に検索するコマンド
|
プログラミングをしていると 「特定のメソッドについて調べたいが、どのファイルに記述されているのかわからない」 というような問題にぶつかることがあります。
Linux では grep
コマンドで特定の文字列を含んでいるファイルを検索できますが、対象のパスの階層が深かったりすると検索に時間がかかります。そのため ack や ripgrep などといった超高速に検索できる専用のツールを使うのが一般的です。
私が愛用している The Silver Searcher(ag) もそのタイプのツールです。
The Silver Searcher とは
とにかくスピードに特化したコード検索ツールで、主な特徴は次の通りです。
- 同じ検索ツールである
ack
よりもはるかに速いオーダーで検索 .gitignore
や.hgignore
などで特定のパターンに合致するファイルを検索対象から除外可能- 検索したくないリポジトリごと、検索対象から除外可能
ack
よりも打鍵を 33%!削(MISSING)減可能8(ag
という 2 文字のコマンドのため)
その他細かい説明は github リポジトリの README をご覧あれ。
導入方法
Linux
- Ubuntu >= 13.10 (Saucy) or Debian >= 8 (Jessie)
apt-get install silversearcher-ag
- CentOS
yum install the_silver_searcher
Mac
Mac は brew でインストールできます。
brew install the_silver_searcher
使い方
ターミナルで検索対象のディレクトリへ移動し、 ag hogehoge
と打つだけです。
cd /hogehoge/hagehage
ag hogehoge
パスを指定して検索することも可能です。
ag hogehoge /PATH
その他の使い方は help で確認すると良いでしょう。
ag --help
まとめ
超高速な grep を実現するツール____The Silver Searcher(ag)__についてまとめました。やったね!