egrep [ -h ] [ -i ] [ -p [ Separator ] ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ -b ] [ -n ] | [ -c | -l | -q ] ] { { -e Pattern | -fStringFile } ... | Pattern } [ File ... ]
egrep コマンドは入力ファイル (デフォルトは標準入力) を検索して、Pattern パラメーターで指定したパターンに一致する行を探します。また、egrep コマンドには次の規則が適用されます。
改行文字は、正規表現で一致させることはできません。
演算子の優先順位は、[、]、*、?、+、連結、|、改行文字の順です。
注: egrep コマンドは、 -E フラグを指定した grep コマンドと同じです。ただし、エラー・メッセージと使用方法メッセージが異なり、 -s フラグの機能も異なります。
複数の File パラメーターを指定した場合、 egrep コマンドは一致する行を含むファイルを表示します。シェルに対して特別な意味を持つ文字 ($、*、[、|、^、(、)、 ¥) は、Pattern パラメーター内では引用符で囲まなければなりません。 Pattern パラメーターが単純な文字列でない場合、通常はパターン全体を単一引用符で囲まなければなりません。 [a-z] のような式では、負符号は該当する照合シーケンスから見た範囲を示します。照合シーケンスは文字範囲内で使用する等価クラスを定義できます。これは、高速の決定論的なアルゴリズムを使用しますが、このアルゴリズムは指数のスペースを必要とすることがあります。
注:
- 各行は 2048 バイト以内に制限されています。
- 現在、パラグラフ (-p フラグの指定) の長さは、5000 文字に限定されています。
- 予測できない結果を生ずるので、grep コマンドをスペシャル・ファイル上で実行するのは避けてください。
- 入力行には、NULL 文字を使用しないでください。
- 入力ファイルは、改行文字で終らなければなりません。
- 複数のフラグを同時に指定できますが、フラグの中には他のフラグをオーバーライドしてしまうものがあります。たとえば、-l と -n を同時に指定すると、ファイル名だけが標準出力に書き出されます。
パターン・マッチング文字 +、?、|、(、) を含む拡張パターンを使用するには、次のように入力します。
egrep "¥(([A-z]+|[0-9]+)¥)" my.txt
これは、小括弧内の文字や小括弧内の数字を含む行を表示しますが、小括弧で囲まれた文字と数字の組み合わせは表示しません。 (y) や (783902) には一致しますが、 (alpha19c) には一致しません。
注: egrep コマンドを使用する際、「¥ (」(左括弧があとに続く円記号またはバックスラッシュ) または「¥ )」(右括弧があとに続く円記号またはバックスラッシュ) はテキストとしての括弧を示しますが、「(」(左括弧) と「)」(右括弧) は、パターンの部分をグループ化する特別な文字です。 grep コマンドを使用するときは、逆になります。