linux 2026-03-05

grepコマンドとは?ログ調査やファイル検索の実践的な使い方を解説

Linuxの検索コマンド「grep」の基礎から、正規表現を使った高度な検索、実務でのログ調査テクニックまで詳しく解説します。

grepコマンドとは?

grep(グレップ)は、テキストファイルの中から特定の文字列(パターン)が含まれる行を検索して表示するための強力なLinuxコマンドです。 名前の由来は「g/re/p (Global Regular Expression Print)」から来ており、正規表現(Regular Expression)をネイティブにサポートしています。

主な役割とメリット

巨大なログファイルや膨大なソースコードの中から、目当てのエラーメッセージや変数名を一瞬で見つけ出すことができます。サーバー上にGUIエディタがないCUI環境において、grepはエンジニアの「目」として機能します。

どのような場面で使われるか

Webサーバーのエラー調査、プロセスが起動しているかの確認、特定の設定項目の抽出など、1日に何度も打ち込むことになるコマンドです。

実務でよく使うオプションと組み合わせ

  • 大文字小文字を区別しない (-i): grep -i "error" /var/log/syslog (Error, ERROR, error 全てにヒット)
  • ディレクトリ内を再帰的に検索 (-r, -R): grep -r "TODO" ./src (srcディレクトリ以下の全ファイルからTODOを検索)
  • 検索文字列を含まない行を表示 (-v): grep -v "INFO" app.log (INFOログを除外し、WARNやERRORだけを表示)
  • 行番号も一緒に表示 (-n): grep -n "password" config.php

パイプ (|) との強力な連携

grep単体でファイルに対して実行するだけでなく、他のコマンドの出力を絞り込むのによく使われます。

  • プロセスの確認: ps aux | grep nginx (起動中のプロセス一覧からnginxだけを抽出)
  • インストール済みパッケージの確認: dpkg -l | grep curl

実務上の注意点

100GBクラスの巨大なログファイルに対して安易に素のgrepをかけると、サーバーのCPUとメモリを占有してシステム全体が重くなることがあります。その場合は tail で末尾だけを切り出したり、zgrep(圧縮ファイル用)を使うなどの工夫が必要です。

よくあるエラーやトラブルシュート

  • 自分自身のgrepプロセスがヒットしてしまう: ps aux | grep nginx と打つと、grep nginxというコマンド自体もリストに表示されて邪魔になることがあります。 回避策として ps aux | grep [n]ginx のように角括弧を使うテクニックが有名です。

まとめ

grepはインフラエンジニアやプログラマーにとって必須のツールです。オプション(-i, -r, -v)や正規表現と組み合わせることで、どんなに膨大なテキストの海からも瞬時に目的の情報を探し出すことができます。

おすすめの高速レンタルサーバー PR

関連する用語 (linux)

全12件を見る

Cannot connect to the Docker daemon の原因と解決策

Dockerコマンド実行時に「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」と表示されるエラーの直し方を解説します。

詳しく読む

tailコマンドとは?リアルタイムなログ監視の実務テクニックを解説

ファイルの末尾を表示する「tail」コマンドについて、-fオプションを使ったリアルタイムなログ監視やエラー調査の基本を解説します。

詳しく読む

git rebase と git merge の違い・使い分け

コミット履歴を綺麗に保つための `git rebase` の仕組みと、`merge` との決定的な違い、実務での使い分けについて図解します。

詳しく読む

sshコマンドとは?公開鍵認証の仕組みと安全なサーバー接続の実務

Linuxの遠隔操作に必須の「ssh」コマンドについて、公開鍵・秘密鍵を使った安全な接続方法(公開鍵認証)や実務でのポート指定などを解説します。

詳しく読む

curlコマンドとは?Web APIのテストやHTTP・JSON通信の実践例

URLを叩いて様々なリクエストを送信できる「curl」コマンドについて、REST APIのテスト(GET/POST)やヘッダー確認などの実務での使い方を解説。

詳しく読む

error: failed to push some refs to の原因

`git push` した時に「リモート側に自分が持っていない変更がある」として拒否された場合の原因と、`git pull` や `git push -f` の判断基準を解説します。

詳しく読む
☁️

開発者向け 高速VPSサーバー

初期費用 無料!

DockerやWebアプリ開発に最適な超高速VPS。月額ワンコインから利用可能。

VPSの料金プランを見る

PR: スポンサーリンク

法人・個人向けサポート 受付中

インフラ構築やトラブル対応で お困りではありませんか?

AWSの構築、社内ネットワーク(VPN/NW)の改善、その他原因不明のITトラブルまで、現役インフラエンジニアが直接サポートします。単発でのご相談や、毎月のスポット顧問契約も可能です。

Sponsored Link

実務で即戦力!ITサポート業務委託契約書テンプレート📝 フリーランスエンジニアや副業のシステム保守案件で、トラブルを劇的に防ぐプロ仕様の雛形。
バグ・要望を報告する