Linux環境で作業を行う際、膨大なテキストデータやログファイルの中から必要な情報を素早く見つけ出すことは、業務効率を大きく左右します。その中でもgrepコマンドは、シンプルな使い方から高度な検索まで幅広く対応できる、Linuxユーザーにとって欠かせないツールです。本記事では、grepコマンドの基本から応用までをわかりやすくまとめ、実践的な活用方法を詳しく解説します。これからLinuxを使い始める方はもちろん、日々の業務でgrepをもっと使いこなしたい方にも役立つ内容です。
grepコマンドは、テキストデータから特定のパターンや文字列を検索するためのLinux標準コマンドです。ログ解析や設定ファイルの調査など、日常的な作業で頻繁に利用されます。
grep [オプション] 検索パターン ファイル名grep error logfile.txtlogfile.txtから「error」を含む行を表示| オプション | 内容 |
|---|---|
| -i | 大文字・小文字を区別しない |
| -v | パターンに一致しない行を表示 |
| -r, -R | ディレクトリを再帰的に検索 |
| -n | 行番号を表示 |
| -l | 一致したファイル名のみ表示 |
| -c | 一致した行数を表示 |
| -e | 複数のパターンを指定 |
| -E | 拡張正規表現を利用 |
| -A [数値] | 一致した行の後ろに指定行数を表示 |
| -B [数値] | 一致した行の前に指定行数を表示 |
| -C [数値] | 一致した行の前後に指定行数を表示 |
・大文字・小文字を無視して検索
grep -i "linux" sample.txt・複数ファイルを検索
grep "error" *.log・ディレクトリ配下を再帰的に検索
grep -r "TODO" ./src・行番号付きで表示
grep -r "TODO" ./src・一致しない行を抽出
grep -n "pattern" file.txt・複数パターンを同時に検索
grep -e "error" -e "fail" server.log・前後の行も一緒に表示
grep -C 2 "Exception" logfile.txtgrepは正規表現による柔軟な検索が可能です。
^error:行頭が「error」error$:行末が「error」gr.p:「g」「r」「任意の1文字」「p」lo+g:「l」「o」が1回以上続き「g」拡張正規表現を使う場合は-Eオプションを付けます。
cat access.log | grep "404"find . -name "*.log" | xargs grep "error"grep "error" *.log | sort | uniq -c-Iオプションでバイナリファイルを無視lessやmoreと組み合わせて閲覧grepコマンドはシンプルながら非常に強力な検索ツールです。オプションや正規表現を活用することで、日々の業務効率を大きく向上させることができます。Linux作業の必須コマンドとして、ぜひ使いこなしてみてください。