rgコマンド(ripgrep)の使い方|インストール手順と主要オプション早見表【コピペ実例】

コマンドリファレンス

rg(ripgrep:リップグレップ)は、Rust製で開発された超高速なテキスト検索コマンドです。従来の grep と比べて圧倒的に速く、デフォルトで .gitignore を考慮して node_modules などの不要なディレクトリを自動除外してくれます。

【OS別】ripgrep インストールコマンド早見表

OS・環境インストールコマンド(コピペOK)
Windows(winget)winget install BurntSushi.ripgrep
Windows(scoop / choco)scoop install ripgrep または choco install ripgrep
macOS(Homebrew)brew install ripgrep
Ubuntu / Debiansudo apt update && sudo apt install ripgrep
RHEL / CentOS / AlmaLinuxsudo dnf install ripgrep
Rust(Cargo)cargo install ripgrep

【目的別】rgコマンド主要オプション逆引き早見表

やりたいことコマンド(コピペOK)主なオプション
ディレクトリ内を再帰検索rg '検索キーワード'引数なしで自動再帰検索
大文字・小文字を区別せず検索rg -i 'error'-i(ignore-case)
スマート大文字小文字判定rg -S 'Error'大文字が含まれる場合のみ区別
ファイルタイプ(拡張子)で絞り込みrg -t py 'def main'-t(–type: py, js, rust, md等)
隠しファイル(.env等)も検索対象にrg --hidden 'API_KEY'--hidden
.gitignoreの除外を無視して検索rg --no-ignore 'secret'--no-ignore
マッチしたファイル名だけを表示rg -l 'TODO'-l(files-with-matches)
完全な単語単位で検索rg -w 'id'-w(word-regexp)
固定文字列として検索(記号対応)rg -F 'user.data[0]'-F(fixed-strings)
特定のグロブパターンを含める/除外rg --glob '*.spec.ts' 'test'--glob

ripgrepと従来のgrepは何が違うのか?

ripgrep(rg) は、VS Code の内部検索エンジンにも採用されている実績のあるツールです。標準の grep と比較した主なメリットは次の4点です。

比較項目従来の grepripgrep(rg)
検索速度単一スレッド処理が基本マルチスレッドで極めて高速
再帰検索-rfind 連携が必要標準でカレント配下を再帰検索
.gitignore / 除外設定手動で --exclude-dir が必要.gitignore を自動認識してスキップ
デフォルト表示プレーンテキスト行番号・色付き・見出し付きで見やすい
言語別絞り込み--include="*.js" など-t js, -t rust など直感的な短縮名

実務で使える rg コマンドの具体例

1. 言語やファイルタイプで絞り込んで検索(-t)

プロジェクト内の特定言語のファイルだけを高速に検索できます。

# Pythonファイル(*.py)から検索
rg -t py 'import requests'

# TypeScript/JavaScriptファイルから検索
rg -t ts -t js 'useEffect'

# 対応ファイルタイプ一覧を確認する
rg --type-list

2. .env などの隠しファイルや無視ファイルも含めて検索

通常の rg では .env.github/ などのドットファイル、.gitignore に指定されたファイルは検索されません。これらを含めたい場合は以下のオプションを指定します。

# 隠しファイルも含めて検索
rg --hidden 'DATABASE_URL'

# .gitignore を無視して(node_modules 等も含めて)全検索
rg --no-ignore 'package-lock'

# 隠しファイルも無視ファイルもすべて検索(-u 2回で最上位の全検索)
rg -uu 'target_string'

3. 特定のディレクトリやグロブを除外する

# min.js や dist フォルダを除外して検索
rg --glob '!*.min.js' --glob '!dist/*' 'initApp'

4. マッチしたファイル一覧を他のコマンドに渡す(-l と xargs)

# TODO を含むファイル一覧を取得してエディタで開く
rg -l 'TODO' | xargs code

設定ファイル(~/.ripgreprc)で自分好みにカスタマイズ

環境変数 RIPGREP_CONFIG_PATH を設定することで、常に適用したいオプション(スマートケース検索やカスタムタイプなど)を定義できます。

# ~/.bashrc や ~/.zshrc に追記
export RIPGREP_CONFIG_PATH="/home/www-data/.ripgreprc"
# ~/.ripgreprc の例
--smart-case
--hidden
--glob=!.git/*

まとめ

  • 基本検索: rg 'キーワード' だけで再帰&高速検索
  • インストール: Windows(winget)、Mac(brew)、Linux(apt)ですぐ導入可能
  • ファイル絞り込み: -t(言語タイプ)や --hidden(隠しファイル)を活用

関連記事

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント