Linuxのgrepコマンドについて
grepコマンドは、テキストファイルや標準出力から特定のパターンを検索するためのコマンドです。
大量のログファイルから特定の文字列を抽出したり、
特定のパターンに一致する行のみを表示したりする際に非常に便利です。grepコマンドはLinux管理やプログラミング作業で頻繁に利用されます。
📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
▶ Linuxコマンド大全|カテゴリ別まとめ+コマンド詳細リンク集(チートシート付き)
grepコマンドの基本(まずこれだけ覚える)
grepコマンドは以下の形で使います。
grep "検索文字列" ファイル名
よく使う例:
grep "error" logfile.txt
→ errorを含む行を表示
grep -i "error" logfile.txt
→ 大文字小文字を無視して検索
grep -r "error" /var/log
→ ディレクトリ配下を検索
よく使うgrepオプション(用途別)
基本検索
- -i:大文字小文字無視
- -v:除外検索
- -n:行番号表示
ファイル・ディレクトリ検索
- -r:再帰検索
- -l:ファイル名のみ表示
周辺表示
- -A:後ろの行表示
- -B:前の行表示
- -C:前後表示
各オプションの詳細と使用例
基本的なgrepコマンド
ファイル内の特定の文字列を検索します。
使用例:
$ grep "error" logfile.txt
表示結果:logfile.txt内で”error”を含む行が表示されます。
-iオプション
大文字と小文字を区別せずに検索を行います。
使用例:
$ grep -i "error" logfile.txt
表示結果: “error”や”Error”など、大小文字にかかわらず一致する行が表示されます。
-vオプション
指定したパターンに一致しない行を表示します。
使用例:
$ grep -v "error" logfile.txt
表示結果: “error”を含まない行のみが表示されます。
-r または -R オプション
ディレクトリを再帰的に検索し、パターンに一致する行を表示します。
使用例:
$ grep -r "error" /var/log/
表示結果: /var/logディレクトリ内のすべてのファイルに対して、”error”を含む行が表示されます。
-lオプション
パターンに一致する行を含むファイル名のみを表示します。
使用例:
$ grep -l "error" /var/log/*
表示結果: “error”を含むファイルの名前が一覧で表示されます。
-nオプション
一致した行の行番号も表示します。
使用例:
$ grep -n "error" logfile.txt
表示結果: “error”を含む行と、その行番号が表示されます。
-cオプション
パターンに一致する行の総数を表示します。
使用例:
$ grep -c "error" logfile.txt
表示結果: “logfile.txt”内で”error”を含む行数が表示されます。
-Aオプション
一致した行と、その後の指定行数を表示します。
使用例:
$ grep -A 3 "error" logfile.txt
表示結果: “error”を含む行と、その後の3行が表示されます。
-Bオプション
一致した行と、その前の指定行数を表示します。
使用例:
$ grep -B 2 "error" logfile.txt
表示結果: “error”を含む行と、その前の2行が表示されます。
-Cオプション
一致した行と、その前後の指定行数を表示します。
使用例:
$ grep -C 2 "error" logfile.txt
表示結果: “error”を含む行と、その前後2行が表示されます。
--colorオプション
一致した部分を色付きで表示します。
使用例:
$ grep --color "error" logfile.txt
表示結果: “error”に一致する部分が色付きで強調表示され、視認性が向上します。
実務でよく使うgrep例
ps aux | grep nginx
→ プロセス確認
grep -i "fail" /var/log/messages
→ エラー調査
grep -r "password" /etc
→ 設定確認
grepと正規表現(重要)
| 記号 | 意味 |
|---|---|
| . | 任意の1文字 |
| * | 繰り返し |
| ^ | 行の先頭 |
| $ | 行の末尾 |
例:
grep "^error" file
→ errorで始まる行

注意点
grepは正規表現を使って高度なパターン検索が可能です。ただし、エスケープ文字などが必要になる場合もあります。grepの正規表現は基本的にはPOSIX準拠ですが、GNUバージョンのgrepでは拡張正規表現(-Eオプション)も使用可能です。


