egrep コマンドは grep の派生物であり、一致パターンを指定するためのより多くの文字を含む POSIX 拡張正規表現を指定できます。
egrep は、1 つ以上のファイルを検索して、拡張正規表現 regexp に一致する行を探します。 egrep は正規表現 \(,\)、\n、\<、\>、\{、または \} をサポートしていませんが、その他の表現や拡張セット +、?、|、と ( )。これらの文字を引用符で囲むことを忘れないでください。終了ステータスは、一致する行がある場合は 0、一致しない場合は 1、エラーの場合は 2 です。
構文:
# egrep [options] [regexp] [files]
ファイル内の Victor または Victoria のオカレンスを検索:
# egrep 'Victor(ia)*' fileegrep '(Victor|Victoria)' file
ファイル内の old.doc1 や new.doc2 などの文字列を検索して出力し、それらの行番号を含めます:
# egrep -n '(old|new)\.doc?' files
egrep コマンドの例
1. PATTERN を拡張正規表現として解釈するには:
# egrep --extended-regexp PATTERN # egrep -E PATTERN
2. PATTERN を固定文字列のリストとして解釈するには:
# egrep -F PATTERN # egrep --fixed-strings PATTERN
3. PATTERN を基本的な正規表現として解釈するには:
# egrep -G PATTERN # egrep --basic-regexp PATTERN
4. PATTERN を Perl 正規表現として解釈するには:
# egrep -P PATTERN # egrep --perl-regexp PATTERN
5. パターンとして PATTERN を使用するには:
# egrep -e PATTERN, # egrep --regexp=PATTERN
6. FILE からパターンを 1 行に 1 つずつ取得するには:
# egrep -f FILE, --file=FILE
7. PATTERN ファイルと入力ファイルの両方で大文字と小文字の区別を無視するには:
# egrep -i PATTERN # egrep --ignore-case PATTERN
8. 一致の意味を反転し、一致しない行を選択するには:
# egrep -v PATTERN # egrep --invert-match PATTERN
9. 単語全体を形成する一致を含む行のみを選択するには:
# egrep -w PATTERN # egrep --word-regexp PATTERN
10. 行全体に完全に一致する一致のみを選択するには:
# egrep -x PATTERN # egrep --line-regexp PATTERN
11. ケースを無視するには:
# egrep -y PATTERN
12. 通常の出力を抑制する。代わりに、一致する行の数を出力します:
# egrep -c PATTERN # egrep --count PATTERN
13. カラーで表示するには:
# egrep --color PATTERN
14. 通常の出力を抑制する。代わりに、各入力ファイルの名前を出力します。from out は期待されません:
# egrep -L # egrep --files-without-match
15. 通常の出力を抑制する。代わりに、出力が出力された各入力ファイルの名前を出力します:
# egrep -l # egrep --files-with-matches
16.静かにする;標準出力には何も書き込まないでください。一致するものが見つかった場合は、ステータス 0 ですぐに終了します:
# egrep -q # egrep --quiet # egrep --silent
17. 一致する NUM 行後にファイルの読み取りを停止するには:
# egrep -m NUM # egrep --max-count=NUM
18. 一致する行の一致した (空でない) 部分のみを印刷するには:
# egrep -o PATTERN # egrep --only-matching PATTERN
19. 存在しない、または読み取れないファイルに関するエラー メッセージを非表示にするには:
# egrep -s PATTERN # egrep --no-messages PATTERN
20. 出力の各行の前に、入力ファイル内の 0 ベースのバイト オフセットを出力するには:
# egrep -b PATTERN # egrep --byte-offset PATTERN
21. 各試合のファイル名を印刷するには:
# egrep -H PATTERN # egrep --with-filename PATTERN
22. 出力時にファイル名のプレフィックスを抑制するには:
# egrep -h PATTERN # egrep --no-filename PATTERN
23. 実際には標準入力からの入力を、ファイル LABEL からの入力として表示するには:
# egrep -cd PATTERN | egrep --label=mysearch -H PATTERN
24. 入力ファイル内で、出力の各行の前に 1 から始まる行番号を付けるには:
# egrep -n PATTERN # egrep --line-number PATTERN
25. 実際の行コンテンツの最初の文字がタブ位置にあることを確認するには:
# egrep -T PATTERN # egrep --initial-tab PATTERN
26. Unix スタイルのバイト オフセットを報告するには:
# egrep -u PATTERN # egrep --unix-byte-offsets PATTERN
27. 通常ファイル名に続く文字の代わりに 0 バイトを出力するには:
# egrep -Z PATTERN # egrep --null PATTERN
28. 一致した行の後に NUM 行の後続コンテキストを出力するには:
# egrep -A NUM PATTERN # egrep --after-context=NUM PATTERN
29. 一致する行の前に先頭のコンテキストの NUM 行を印刷するには:
# egrep -B NUM PATTERN # egrep --before-context=NUM PATTERN
30. 出力コンテキストの NUM 行を印刷するには:
# egrep -C NUM PATTERN # egrep --context=NUM PATTERN
31. バイナリ ファイルをテキストのように処理するには:
# egrep -a PATTERN /tmp/bin # egrep -text PATTERN /tmp/bin
32. ファイルのタイプが TYPE であると仮定するには:
# egrep --binary-files=TYPE PATTERN
33. 入力ファイルがデバイス、FIFO、またはソケットの場合は、ACTION を使用して処理します:
# egrep -D ACTION PATTERN # egrep --devices=ACTION PATTERN
34. 入力ファイルがディレクトリの場合は、ACTION を使用して処理します:
# egrep -d ACTION PATTERN # egrep --directories=ACTION PATTERN
35. ベース名が GLOB に一致するファイルをスキップするには:
# egrep --exclude=GLOB PATTERN
36. ベース名が FILE から読み取ったファイル名グロブのいずれかと一致するファイルをスキップするには:
# egrep --exclude-from=FILE PATTERN
37. 再帰検索からパターン DIR に一致するディレクトリを除外するには:
# egrep --exclude-dir=DIR PATTERN
38. 一致するデータが含まれていないかのようにバイナリ ファイルを処理するには:
# egrep -I PATTERN
39. ベース名が GLOB に一致するファイルのみを検索するには:
# egrep --include=GLOB PATTERN
40. 各ディレクトリの下にあるすべてのファイルを再帰的に読み取るには:
# egrep -r PATTERN # egrep -R PATTERN
41. 出力で行バッファリングを使用するには:
# egrep --line-buffered PATTERN
42. 可能であれば、デフォルトの読み取りではなく、mmap システム コールを使用して入力を読み取ります:
# egrep --mmap PATTERN
43. ファイルをバイナリとして扱うには:
# egrep -U /tmp/file PATTERN # egrep --binary /tmp/file PATTERN
44. 入力を一連の行として扱うには:
# egrep -z PATTERN # egrep --null-data PATTERN
45. ヘルプを表示するには:
# egrep -h
46. grep のバージョン番号を出力するには:
# egrep -V