rg:大規模プロジェクトも一瞬で検索

目次
rgコマンド(ripgrep)についての概要と詳細
rgコマンドとは
rg
コマンドは、「ripgrep(リップグレップ)」という正式名称で知られる高速な全文検索ツールです。Linux、UNIX系OS、macOS、Windowsなどマルチプラットフォーム対応で、従来のgrep
やack
、ag(The Silver Searcher)
と比べて圧倒的な検索速度と柔軟性を誇ります。Rust言語で開発されており、ソースコード・テキストファイル・ログファイルなど、大規模なディレクトリでも高速にパターン検索できます。
主な用途
- プログラムソースやドキュメント、ログファイルなど大量テキストからのキーワード検索
- 特定のパターン・関数名・エラーコードなどの一括検索
- 開発現場やサーバ運用でのgrepの高速代替
主な特徴
- 圧倒的な高速性:大規模ディレクトリや膨大なファイル群でも高速に検索結果を返す
- 標準で再帰検索:カレントディレクトリ以下を再帰的に全文検索(サブディレクトリも含む)
- 検索対象の自動最適化:.gitignoreや.dockerignoreなどの除外ファイルを自動で考慮
- Unicode完全対応:日本語や多言語、絵文字なども正しく検索
- 色分け表示:検索ヒット箇所を見やすくカラー表示
- PCRE正規表現サポート:高度な正規表現パターンにも対応
- バイナリファイル自動除外:テキスト検索のみ対象にできる
基本的な使い方
rg [検索パターン] [検索対象ディレクトリやファイル]
rg error
:カレントディレクトリ以下で「error」を含む行をすべて検索rg -i failed
:大文字小文字を区別せず「failed」を検索rg main.py
:ファイル名やパスも含めて検索rg '^def '
:Pythonの関数定義だけ検索(正規表現)rg -t py import
:拡張子が.pyのファイルだけ「import」を検索rg TODO ~/project/
:指定ディレクトリ以下を検索
主なオプション一覧
オプション | 説明 |
---|---|
-i | 大文字小文字を区別しない(ignore-case) |
-w | 単語単位で完全一致検索 |
-v | マッチしない行を表示 |
-n | 行番号を表示 |
-l | マッチしたファイル名のみ表示 |
-c | ヒット件数のみ表示 |
-t [種類] | 指定言語・拡張子のみ検索(例:-t py, -t js, -t md) |
--ignore-case | 大文字小文字無視(-iと同等) |
--files | 対象ディレクトリ配下のファイル一覧のみを表示 |
--no-ignore | .gitignore等を無視して全てのファイルを検索 |
インストール方法
RPM系(RedHat, CentOS, Fedoraなど)
$ sudo dnf install ripgrep
Debian系(Debian, Ubuntuなど)
$ sudo apt install ripgrep
最新版・その他OS: 公式GitHubからバイナリまたはソースを入手可能。
まとめ
rg(ripgrep)は、現代的な開発やサーバ管理に不可欠な超高速テキスト検索ツールです。大規模なプロジェクトや大量ログ解析など、grepの置き換えに最適。
高機能かつ簡単操作なので、ぜひインストールして日々の作業効率化に役立ててみてください。