0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RUST製のgrepツール「ripgrep」のヘルプ

Posted at

ripgrep (rg) は、現在のディレクトリを再帰的に検索し、正規表現パターンに一致する行を見つけます。デフォルトでは、ripgrepはgitignoreルールを尊重し、隠しファイル/ディレクトリおよびバイナリファイルを自動的にスキップします。

非常に高速であることが紹介されています。

Tool Command Line count Time
ripgrep (Unicode) rg -n -w '[A-Z]+_SUSPEND' 536 0.082s (1.00x)
hypergrep hgrep -n -w '[A-Z]+_SUSPEND' 536 0.167s (2.04x)
git grep git grep -P -n -w '[A-Z]+_SUSPEND' 536 0.273s (3.34x)
The Silver Searcher ag -w '[A-Z]+_SUSPEND' 534 0.443s (5.43x)
ugrep ugrep -r --ignore-files --no-hidden -I -w '[A-Z]+_SUSPEND' 536 0.639s (7.82x)
git grep LC_ALL=C git grep -E -n -w '[A-Z]+_SUSPEND' 536 0.727s (8.91x)
git grep (Unicode) LC_ALL=en_US.UTF-8 git grep -E -n -w '[A-Z]+_SUSPEND' 536 2.670s (32.70x)
ack ack -w '[A-Z]+_SUSPEND' 2677 2.935s (35.94x)

基本的な使用方法

rg [OPTIONS] PATTERN [PATH ...]
  • PATTERN: 検索する正規表現パターン。
  • PATH: 検索するファイルまたはディレクトリ。

ripgrep (rg) オプションガイド

ripgrep (rg) は、現在のディレクトリを再帰的に検索し、正規表現パターンに一致する行を見つけます。

オプション一覧

入力オプション

オプション 説明
-e PATTERN, --regexp=PATTERN パターンを指定して検索。複数回指定可能。
-f FILE, --file=FILE ファイルからパターンを読み込む。複数回指定可能。
--pre=COMMAND 各入力ファイルに対してCOMMANDを実行し、その出力を検索。
--pre-glob=GLOB --pre フラグと併用して、特定のファイルに対してのみCOMMANDを実行。
-z, --search-zip 圧縮ファイルを検索対象に含める。

検索オプション

オプション 説明
-s, --case-sensitive 大文字小文字を区別して検索(デフォルト)。
-i, --ignore-case 大文字小文字を区別せずに検索。
--crlf CRLFを行終端として扱う。
--dfa-size-limit=NUM+SUFFIX? 正規表現DFAのサイズ制限。
-E ENCODING, --encoding=ENCODING テキストエンコーディングを指定。
--engine=ENGINE 使用する正規表現エンジンを指定(default, pcre2, auto)。
-F, --fixed-strings リテラルとしてパターンを扱う。
-v, --invert-match 一致しない行を表示。
-x, --line-regexp 行全体が一致する場合のみ表示。
-m NUM, --max-count=NUM 各ファイルにつき最大NUM行まで表示。
--mmap メモリマップを使用して検索(デフォルトで有効)。
-U, --multiline 複数行にまたがる検索を有効にする。
--multiline-dotall 複数行検索時に.が改行文字に一致するように設定。
--no-unicode Unicodeモードを無効にする。
--null-data 行終端をNUL文字に変更。
-P, --pcre2 PCRE2正規表現エンジンを使用。
--regex-size-limit=NUM+SUFFIX? コンパイルされた正規表現のサイズ制限。
-S, --smart-case パターンが全て小文字の場合、ケースインセンシティブ検索を行う。
--stop-on-nonmatch 一致しない行に遭遇したら検索を停止。

フィルターオプション

オプション 説明
--binary バイナリファイルも検索対象に含める。
-L, --follow シンボリックリンクを辿る。
-g GLOB, --glob=GLOB 特定のパターンに一致するファイルやディレクトリを検索対象に含める/除外する。
--glob-case-insensitive グロブパターンをケースインセンシティブに処理。
-., --hidden 隠しファイルも検索対象に含める。
--iglob=GLOB ケースインセンシティブなグロブパターンを指定。
--ignore-file=PATH 無視ルールが記載されたファイルを指定。
--ignore-file-case-insensitive 無視ファイルをケースインセンシティブに処理。
-d NUM, --max-depth=NUM ディレクトリの探索深さをNUMに制限。
--max-filesize=NUM+SUFFIX? NUMバイト以上のファイルを無視。
--no-ignore 無視ファイルを無視しない。
--no-ignore-dot .ignore.rgignoreファイルを無視しない。
--no-ignore-exclude 手動で設定された無視ルールを無視しない。
--no-ignore-files --ignore-fileフラグを無視。
--no-ignore-global グローバルな無視ルールを無視。
--no-ignore-parent 親ディレクトリの無視ルールを無視。
--no-ignore-vcs バージョン管理の無視ルールを無視。
--no-require-git GitリポジトリでなくてもGitの無視ルールを適用。
--one-file-system ファイルシステムの境界を越えない。
-t TYPE, --type=TYPE 特定のファイルタイプを検索対象に含める。
-T TYPE, --type-not=TYPE 特定のファイルタイプを検索対象から除外する。
--type-add=TYPESPEC 新しいファイルタイプを追加。
--type-clear=TYPE 既存のファイルタイプのグロブをクリア。
-u, --unrestricted フィルタリングレベルを低減。3回まで繰り返し可能。

出力オプション

オプション 説明
-A NUM, --after-context=NUM 一致行の後にNUM行表示。
-B NUM, --before-context=NUM 一致行の前にNUM行表示。
--block-buffered ブロックバッファリングを使用。
-b, --byte-offset 出力前にバイトオフセットを表示。
`--color=[never,auto,always] カラー出力の制御。
--colors=COLOR_SPEC 出力のカラー設定。
--column カラム番号を表示。
-C NUM, --context=NUM 一致行の前後にNUM行表示。
--context-separator=SEPARATOR コンテキスト行の区切り文字を設定。
--field-context-separator=SEPARATOR コンテキスト行のフィールド区切り文字を設定。
--field-match-separator=SEPARATOR 一致行のフィールド区切り文字を設定。
--heading ファイルパスをクラスターの上に表示。
-h, --help ヘルプを表示。
--hostname-bin=COMMAND ホスト名を決定するコマンドを指定。
--hyperlink-format=FORMAT 出力に使用するハイパーリンクのフォーマットを設定。
--include-zero 一致が0のファイルもカウントして表示。
--line-buffered 常に行バッファリングを使用。
-n, --line-number 行番号を表示。
-N, --no-line-number 行番号を表示しない。
-M NUM, --max-columns=NUM 指定されたカラム数を超える行を省略。
--max-columns-preview 超過行のプレビューを表示。
-0, --null ファイルパスの後にNULバイトを追加。
-o, --only-matching 一致部分のみを表示。
--path-separator=SEPARATOR パス区切り文字を設定。
--passthru 一致する行と一致しない行の両方を表示。
-p, --pretty カラー出力、ヘッディング、行番号を常に表示。
-q, --quiet 標準出力に何も表示せず、一致が見つかった時点で停止。
-r REPLACEMENT, --replace=REPLACEMENT 一致部分を置換して表示。
--sort=SORTBY 結果を昇順にソート。
--sortr=SORTBY 結果を降順にソート。
--trim 行頭のASCIIホワイトスペースを削除。
--vimgrep Vimのgrep形式で結果を表示。
-H, --with-filename 各一致行の前にファイル名を表示。
-I, --no-filename ファイル名を表示しない。
--sort-files ファイルパスで結果をソート(非推奨)。

出力モードオプション

オプション 説明
-c, --count 一致する行数を表示。
--count-matches 一致するパターンの数を表示。
-l, --files-with-matches 一致するファイル名のみ表示。
--files-without-match 一致しないファイル名を表示。
--json 結果をJSON Lines形式で表示。

ログオプション

オプション 説明
--debug デバッグメッセージを表示。
--no-ignore-messages 無視ファイルの解析エラーメッセージを抑制。
--no-messages 特定のエラーメッセージを抑制。
--stats 検索の統計情報を表示。
--trace トレースメッセージを表示。

その他のオプション

オプション 説明
--files 実際に検索を行わず、検索対象のファイルを表示。
--generate=KIND 特定の形式で出力を生成(例:man, complete-bash)。
--no-config 設定ファイルを無視。
--pcre2-version PCRE2のバージョン情報を表示。
--type-list サポートされているファイルタイプとそのグロブを表示。
-V, --version ripgrepのバージョン情報を表示。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?