grepコマンドの使い方まとめ|よく使う例・オプション・正規表現まで解説

  • URLをコピーしました!
目次

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オプション)も使用可能です。
目次