87
84

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【脱・初心者】ログ調査が10倍速くなる!現場の先輩が使っているgrep神技10選

87
Last updated at Posted at 2025-10-31

はじめに

「数万行のログを目で追っていませんか?」
「急な障害調査、どこから手をつけていいか焦った経験はありませんか?」
「キーワードを探すのにプロジェクト全体を一つずつ開いていませんか?」
現場に入りたての頃、誰もが一度は経験するこんな「調査の泥沼」。実は、grepコマンドを少し深く知るだけで、その悩みから解放されます。

この記事では、grepのオプション紹介はもちろん、現場で本当に役立つ実践的な使い方、特に「正規表現」やfindなどの他コマンドとの「合わせ技」に焦点を当てて解説します。

この記事を読み終える頃には、あなたは面倒な調査作業をコマンド一発で終わらせる「検索の達人」になっているはず。

【基本編】よく使う便利オプション5選

  • ただ文字列を検索するだけじゃない!
    これだけは覚えておきたい、grepの基本にして最強のオプションを紹介します!
# -i: 大文字・小文字を無視して検索
$ grep -i "error" server.log

# -n: 該当行の行番号を表示
$ grep -n "Exception" app.log

# -A 3: 該当行の後の3行を表示
$ grep -A 3 "Exception" app.log
##該当行の前を取得したいなら -B
##該当行の前後を取得したいなら -C

# -v: 指定した文字列を含まない行を抽出
$ grep -v "DEBUG" system.log

# -r: ディレクトリ配下を再帰的に検索(超重要!)
$ grep -r "function_name" ./src

# -c: 該当する行数をカウント
$ grep -c "WARNING" access.log

# -a: バイナリファイルを対象にする場合
grep -a "hogehoge" aplocation.dat

【本題】正規表現でgrepの真価を引き出す

  • grepの能力を100%引き出す鍵は「正規表現」です
  • 難しく感じるかもしれませんが、実務で使うパターンは限られています。これだけ覚えればOKというものに絞って解説します

よく使う正規表現メタ文字

^: 行頭
$: 行末
.: 任意の一文字
*: 直前の文字の0回以上の繰り返し
[]: 角括弧内のいずれかの文字

実践的な活用例(Before/After)

やりたいこと: IPアドレス(っぽい文字列)をログから抽出したい。

Before

# これだと "127.0.0.1" しか見つからない...
$ grep "127.0.0.1" access.log

After

# egrep (or grep -E) を使って拡張正規表現で賢く検索
$ egrep "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" access.log

【実践編】他コマンドの合わせ技で調査効率を最大化

  • grepコマンドは単体でも十分強力ですが、他のコマンドと組み合わせることでその真価を発揮します!

find × grep: 特定のパターンのファイル(例:.log拡張子)の中からだけ高速に検索する

#カレントディレクトリ以下の.logファイルから"FATAL"を検索
find . -name "*.log" | xargs grep "FATAL"

パイプ | の活用: grepの結果をさらにgrepで絞り込む(grep -vと組み合わせると超強力)

# user_id: 123 のログから、"DEBUG"レベルのログは除外して表示
grep "user_id: 123" application.log | grep -v "DEBUG"

参考にさせていただいた記事

87
84
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
87
84

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?