ripgrep

ripgrepの使い方

タグ 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
}

参考