egrepコマンド(ファイル内の文字を検索する)
形式
egrep[-a][-b][-c][-E][-h][-I][-i][-L][-l][-n] [-q][-R][-r][-s][-U][-v][-w][-x] [-A 数値] [-B 数値] [-C[数値]] [-e パターン] [-f パターンファイルパス名] [パターン] [パス名 ...]
機能
ファイルの中から指定されたパターンを検索します。検索するパターンは拡張された正規表現として扱います。egrepコマンドの動作は-Eオプションを指定したgrepコマンドと同じです。
引数
- -a
-
すべてのファイルをASCIIテキストファイルとして扱います。
- -b
-
それぞれ一致した行の先頭にバイト単位のオフセットを出力します。
- -c
-
選択された行数だけ標準出力に出力します。
- -E
-
拡張された正規表現としてパターンを扱います(デフォルト値)。
- -h
-
次のどちらかの指定をする場合,各出力行の先頭にファイル名を付けないようにします。
-
-Rまたは-rオプションを指定する
-
複数の検索対象パス名を指定する
-
- -I
-
バイナリファイルを無視します。
- -i
-
大文字と小文字を区別しません。
- -L
-
パターンを含まないファイルの名前だけを標準出力に出力します。-Lオプションと-lオプションは,最後に指定したオプションが有効となります。
- -l
-
パターンを含むファイルの名前だけを標準出力に出力します。-Lオプションと-lオプションは,最後に指定したオプションが有効となります。
- -n
-
各出力行にファイルの相対的な行番号を出力します。-cオプション,-Lオプション,-lオプション,および-qオプションを指定した場合は無視されます。
- -q
-
標準出力には何も出力しません。終了コードだけを返します。
- -R|-r
-
検索ディレクトリを再帰的に検索します。
なお,-Lオプション,-lオプション,および-qオプションを指定しない場合は,各出力行の先頭にファイル名が付けられます。
- -s
-
読めないファイルや存在しないファイルは無視します。エラーメッセージを抑止します。
- -U
-
バイナリファイルを検索します。ただし,出力はしません。
- -v
-
パターンに一致しなかった行を出力します。
- -w
-
指定文字列が単語として含まれている行を出力します。
単語とは英数字およびアンダースコア(_)から構成される文字列のことです。また,単語の前後はスペースなどの単語構成文字列以外の文字や,行頭または行末で区切られている必要があります。
- -x
-
指定した文字列とファイルのすべての行を1行ごとに比較して完全に一致した場合に,一致した回数だけ指定した文字列を出力します。
- -A 数値
-
数値で指定した行だけ,パターンにマッチした行のあとの行も出力します。
- -B 数値
-
数値で指定した行だけ,パターンにマッチした行の前の行も出力します。
- -C[数値]
-
数値で指定した行だけ,パターンにマッチした行の前後の行も表示します。数値を省略した場合,前後2行を表示します。この場合,「-A 2 -B 2」と指定したときと同じになります。
-Cオプションに数値を指定する場合は,-Cオプションと数値の間にスペースを入れないでください。
- -e パターン
-
「-」で始まるパターンを指定するときに使用します。
- -f パターンファイルパス名
-
検索するパターンを1行ごとにパターンファイルのパス名に指定します。パターンの指定がない場合はマッチしません。
- [パターン]
-
検索するパターンを指定します。
- [パス名 ...]
-
検索対象のパス名を指定します。複数指定ができます。パス名を指定しない場合は,検索対象の内容を標準入力から入力できます。ディレクトリ名の指定は,-Rオプションまたは-rオプションを指定した場合に有効です。
なお,-Lオプション,-lオプション,および-qオプションを指定しない場合は,各出力行の先頭にファイル名が付けられます。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了。
|
1 |
正常終了。
|
2以上 |
エラー終了 |
注意事項
-
Windowsの場合,シンボリックリンクのリンク先を出力しません。
-
ファイルの先頭から8,192バイト内に表示できる1バイト文字,スペース,タブ,バックスペースおよびマルチバイト文字以外のデータが含まれている場合は,バイナリファイルと見なされます。
-
Windowsのコマンドプロンプトから実行する場合,パターンをクォーテーションで囲むときは"(ダブルクォーテーション)を使用してください。
-
ロケールと異なる文字コードのファイルはバイナリファイルと見なされます。
-
Windowsの場合,ファイルおよび標準入力,標準出力をバイナリモードで入出力します。改行コードは変換しません。
-
正規表現で使用する次のメタキャラクタを検索する場合は,直前にエスケープ文字(\)を指定します。
+,?,|,(,),{,}
使用例
拡張された正規表現による検索の使用例を示します。オプションの使用例についてはgrepコマンドの使用例を参照してください。
-
拡張された正規表現を示す「|」を使用して,文字列「AB」と「AD」のどちらかを含む行を検索します。入力ファイルはfile01.txtです。
file01.txtの内容
AA AB AC AD AB|AD
コマンドの実行結果を次に示します。
C:\TEMP>%ADSH_OSCMD_DIR%\egrep "AB|AD" file01.txt AB AD AB|AD
-
文字列「AB|AD」を含む行を検索します。「|」は拡張された正規表現として扱われるため,「|」の直前にエスケープ文字(\)を指定します。入力ファイルはfile01.txtです。
file01.txtの内容
AA AB AC AD AB|AD
コマンドの実行結果を次に示します。
C:\TEMP>%ADSH_OSCMD_DIR%\egrep "AB\|AD" file01.txt AB|AD