grepコマンド

          grepコマンド
**********************************************************************

grep(グロップ)は、ファイルや標準入力から、指定した検索パターン(文字列や正規表現)に一致する行を効率的に抽出・表示するLinuxのコマンドです。
ログ分析や特定の文字を含むファイルを探す際に必須のツールであり、パイプ|と組み合わせることで他のコマンドの出力結果を絞り込むのにもよく使われます


よく使われる基本オプション

-i:   大文字と小文字を区別せずに検索する

-v:   検索パターンに一致しない行を表示する(反転検索)

-n:   一致した行の行番号を表示する

-r (or -R):   ディレクトリ内を再帰的に検索する

-l:   一致した行を含むファイル名のみを表示する

-c:   一致した行数のみを表示する

-E:   拡張正規表現を使用する(egrepと同じ)

-A n:   マッチした行の後(After)n行も表示する

-B n:   マッチした行の前(Before)n行も表示する

-C n:   マッチした行の前後(Context)n行を表示する

———————

実践的な使用例

ファイルから検索:
grep “error” app.log       (app.logから”error”を含む行を表示)

大文字小文字を無視して検索:
grep -i “error” app.log

特定の文字を含まない行を抽出:
grep -v “debug” app.log     (”debug”を含まない行を表示)

パイプでコマンドと連携:
ps aux | grep nginx         (実行中のプロセスから”nginx”を検索)

ディレクトリ全体を再帰的に検索:
grep -r “function_name” ./src   (./src以下の全ファイルから検索)

行番号を表示して検索:
grep -n “TODO” todo.txt


正規表現の活用
grepは強力な正規表現に対応しています。
行頭検索: grep “^Start” file.txt (Startで始まる行)
行末検索: grep “End$” file.txt (Endで終わる行)
複数キーワード: grep -E “error|warning” app.log (”error”または”warning”)