grep / egrep / fgrep の違いと使い分け【初心者から中級者向け徹底解説】

投稿者: | 7月 24, 2025

Linux や macOS のターミナルで日常的に使われる「grep」コマンド。ログ調査やファイル検索に欠かせないこのコマンドには、実はバリエーションがいくつか存在します。
この記事では、grepegrepfgrep の違いや、現代的な使い方、そして推奨される使い分けについて、詳しく解説します。


grep / egrep / fgrep の違い

コマンド正規表現拡張正規表現特徴推奨状況
grep○(基本正規表現)×標準的な検索コマンド一般用途に最適
egrep○(拡張正規表現)grep -E と同等非推奨(後方互換用)
fgrep×(正規表現不可)×grep -F と同等非推奨(後方互換用)

egrepfgrep は現在は非推奨。代わりに grep -Egrep -F を使うのがベストプラクティスです。


よく使う grep コマンド例

grep '^Error' file.log            # 「Error」で始まる行を検索
grep -E 'error|warning|fatal' app.log  # 拡張正規表現で複数マッチ
grep -F '$HOME' shell.txt        # 文字列「$HOME」をそのまま検索

grep のモダンなオプション活用例

  • grep -i:大文字・小文字を区別しない(例:grep -i error log.txt
  • grep -r:ディレクトリを再帰的に検索(例:grep -r TODO ./src
  • grep -n:行番号付きで表示(例:grep -n main program.c
  • grep -l:マッチしたファイル名だけ表示(例:grep -l keyword *.txt
  • grep -o:マッチした部分だけ表示(例:grep -o '[0-9]\+' data.txt
  • grep --color=auto:マッチ部分に色をつけて表示

使用目的別:grepの推奨オプション

条件推奨コマンド
正規表現が不要(文字列一致)grep -F
複雑な正規表現を使いたいgrep -E
一般的なログ検索grep または grep -i

補足

  • egrep, fgrep は将来的に削除される可能性があるため、今から grep -E, grep -F に慣れておきましょう。
  • 色付き表示(--color=auto)は、視認性向上に便利です。

参考リンク