【コマンド詳細】拡張表現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

巨大なファイルを指定したサイズや行数で分割するコマンドは?

4 / 10

ファイル「file1」の所有者を「user1」、グループを「group1」に一括で変更するコマンドは?

5 / 10

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

6 / 10

テキストファイルの単語数、行数、バイト数を表示するコマンドは?

7 / 10

システムを直ちに再起動するコマンドは?

8 / 10

テキストファイルの内容を、行番号付きで表示するコマンドは?

9 / 10

現在ログインしているユーザー自身の名前を表示するコマンドは?

10 / 10

リモートホストとの間でファイルを安全に転送(コピー)するコマンドは?

あなたのスコアは

平均スコアは 57%

0%

目次