Linux では、テキストのフィルタリングに grep
を提供しています。 しかし、ある状況下では、与えられたテキストファイル中の与えられたパターンにマッチするために、より拡張されたツールが必要になることがあります。 このツールは Extended Global Regular Expression Print
または単に egrep
と呼ばれています。 egrep
は通常の grep
ツールよりも拡張された機能を提供します。
egrep
コマンドの構文は以下の通りです。
egrep FLAG REGEX FILE
- `FLAG` は `egrep` コマンドの振る舞いを変更するのに使用します。
- `REGEX` は正規表現で検索したいパターンです。
- `FILE` は検索するファイル名です。
通常検索
正規表現を指定せずに通常のテキスト検索は egrep
を使用することができます。 検索したい単語を指定するだけです。 この例では、/etc/passwd
.
$ egrep ismail /etc/passwd
Match Lines Contains Numeric Characters
で数値を指定することができる。
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
小文字は、大文字は
でアルファベットを指定することも可能です。
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
^
記号で行頭を一致させることができる。 この例では、アルファベットで始まるすべての行を検索します。
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
行末を指定するには $
記号を使用します。
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
は、デフォルトで大文字と小文字を区別する設定になっています。 大文字と小文字を区別するということは、A
とa
のように大文字と小文字が異なるということです。 大文字小文字を区別しないようにするには、フラグとして-i
を指定します。 以下の例では、以下の単語
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py
にすべて一致します。