ripgrepの使い方
概要
- grepを賢くしたもの
.git
やバイナリなど見ないほうが効率的なファイルに関してスキップする- 自動で
find . | xargs grep "any"
のような検索になる - 様々な最適化で早い
インストール
osx
$ brew install ripgrep
ubuntu, debian
$ cargo install ripgrep
- cargo経由であると最新の状態でインストールできる
引数
--files
- ファイル名一覧で表示する
-i, --ignore-case
- ケースセンシティブを無視
-F
- デフォルトで検索クエリの正規表現が有効なので、無効で検索する
- Search literally
- デフォルトで検索クエリの正規表現が有効なので、無効で検索する
具体例
検索パス以下からマッチするラインを検索する
$ rg "query" target_dir/
target_dir/
を省略すると今いるディレクトリから検索となる
ファイル名に一致するファイル一覧を取得
$ rg --files | rg $file_name
zshでラップしたコマンド
# rf <filename>
function rf {
readonly file_name=${1:?"rgで検索するファイル名の引数"}
rg --files | rg $file_name
}