【コマンド詳細】拡張表現grep -Eの使い方とオプションまとめ

  • URLをコピーしました!
目次

grepの拡張正規表現オプション(-Eオプション)

GNUバージョンのgrepでは、通常の基本正規表現に加えて、拡張正規表現を使用することができます。
拡張正規表現は複雑なパターンの検索に便利で、複数の条件を柔軟に扱えるため、業務やログ解析などで重宝されます。
この機能を有効にするには、-Eオプションを指定します。-Eを使用することで、
grepは「egrep」と同様の動作をしますが、GNUバージョンではegrepgrep -Eは機能的に同等です。

📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
Linuxコマンド大全|カテゴリ別まとめ+コマンド詳細リンク集(チートシート付き)

オプション -E

オプション説明
-E拡張正規表現を使用して検索を行います。複数のパターンや特殊文字の扱いが容易になります。

拡張正規表現の使用例

複数パターンの検索(OR条件)

拡張正規表現では、パイプ記号 | を使って複数のパターンを指定することができます。

使用例

$ grep -E "error|fail|critical" logfile.txt

表示結果logfile.txt内で”error”、”fail”、”critical”のいずれかに一致する行が表示されます。

グループ化と繰り返し((){}

拡張正規表現を使うと、括弧 () でパターンをグループ化し、
{} でその出現回数を指定することができます。

使用例

$ grep -E "(error|fail){2}" logfile.txt

表示結果: “error”または”fail”が2回連続で現れる行が表示されます。

文字クラスの利用([]

拡張正規表現の[]で特定の文字セットを指定できます。
例えば、”[0-9]”は任意の数字を意味します。

使用例

$ grep -E "[0-9]{4}-[0-9]{2}-[0-9]{2}" logfile.txt

表示結果logfile.txt内で”YYYY-MM-DD”の形式の日付(例えば”2024-11-04″)を含む行が表示されます。

開始と終了のアンカー(^$

^ は行の先頭、$ は行の末尾を表します。拡張正規表現を使うと、
特定の文字列で始まるまたは終わる行を見つけやすくなります。

使用例

$ grep -E "^error|critical$" logfile.txt

表示結果: 行の先頭が”error”、または行の末尾が”critical”の行が表示されます。

-Eオプションを使う際の注意点

  • 拡張正規表現では、|()などをエスケープする必要がありません。これは基本正規表現(grepの通常モード)との大きな違いです。
  • 拡張正規表現を使うことで、複雑な検索条件を簡潔に表現できますが、条件が複雑になると実行速度が遅くなる場合もあります。

LPIC Lv1準拠!Linuxコマンド演習(基礎編)Vol.1【全10問】

厳選された100問のコマンド問題から、毎回ランダムで10問を出題。
挑戦するたびに新しい問題に出会えるので、真の実力が試されます。

1 / 10

コマンドの履歴(過去に打ったコマンド)を表示するコマンドは?

2 / 10

ディレクトリスタックに現在のディレクトリを保存して移動するコマンドは?

3 / 10

連続した重複行を1行にまとめるコマンド(事前にsortが必要)は?

4 / 10

システムのロードアベレージ(負荷平均)を確認できるコマンドは?

5 / 10

テキストファイルの中身を比較し、差分を表示するコマンドは?

6 / 10

特定のサービスのポート(例:80番)が待ち受け状態か確認するコマンドは?

7 / 10

システムにログインしている全ユーザーにメッセージを送信するコマンドは?

8 / 10

ネットワークの「ゲートウェイ(デフォルトルート)」を確認するコマンドは?

9 / 10

複数のテキストファイルを水平(横方向)に連結するコマンドは?

10 / 10

ユーザーを新しいセカンダリグループに追加するコマンドは?

あなたのスコアは

平均スコアは 63%

0%

目次