grep
書式
grep [options] PATTERN [FILE…]
grep [options] [−e PATTERN | −f FILE] [FILE…]
説明
Global Regular Expression Print の略。
grep は、FILE で名前を指定された入力ファイル(ファイルが指定されてないか、 FILE の部分に − が指定された場合は標準入力)を読み込み、与えられた PATTERN にマッチする部分を含む行を探します。
デフォルト動作では、 grep はマッチした行を表示します。
オプション
- -G
- PATTERN を基本的な正規表現として扱います。
デフォルトです。 - -E
- PATTERN を拡張された正規表現として扱います。
- -F
- PATTERN を改行で区切られた固定文字列のリストとして扱い、その文字列のどれかとマッチするかを調べます。
- -num
- マッチした行から前後num行も表示します。
デフォルトは -0。つまりマッチした行のみ表示します。 - -A num
- マッチした行から後num行も表示します。
- -B num
- マッチした行から前num行も表示します。
- -C
- マッチした前後2行を同時に検索結果として表示します。
-2と同じ意味です。 - -b
- 各行の前に入力ファイルの先頭からバイト単位のオフセットを表示します。
- -n
- 各行の前に行番号を表示します。
- -c
- 検索条件にマッチした行数を表示します。
-cvとするとマッチしなかった行数を表示します。 - -e pattern
- PATTERN をパターンとして指定します。
- -f file
- 検索パターンとしてfileの内容を使用します。
- -i
- 検索条件に大文字と小文字の区別をしません。
- -l
- 検索条件にマッチしたファイル名を表示します。
- -q
- 検索結果を表示しません。
- -s
- エラーメッセージを表示しません。
- -v
- マッチしない行を検索結果として表示します。
- -w
- パターンマッチを、単語全体で行います。
- -x
- 行全体を検索対象にします。
正規表現
- .
- 改行文字以外の任意の1文字
- *
- 直前の1文字の0回以上の繰り返しに一致
- ^
- 行の先頭を表す
- $
- 行の末尾を表す
- [ ]
- カッコ内の任意の文字に一致
ハイフン(-)で範囲指定もできる
カッコ内の最初の文字に^を使用すると意味が逆転する - +
- 直前の文字の1個以上の連続
- ?
- 直前の文字の0または1文字にマッチ
- pattern1またはpattern2のいずれかにマッチ
- patternをグループ化
- 正規表現に使われる記号を普通の文字として扱う
pattern1|pattern2
(pattern)
¥
サンプル
例1)hoge.dat の中の「hoge」という文字列を含む行を表示。
$ grep hoge hoge.dat ↵
例2)hoge1.dat、hoge2.dat、hoge3.dat の中の「hoge」という文字列を含む行を表示。
$ grep hoge hoge1.dat hoge2.dat hoge3.dat ↵
例3)hoge.dat の中「a〜z」という文字列を含む行を表示。
$ grep ‘[a-z]’ hoge.dat ↵
- カテゴリ:Linuxコマンド
- 公開日:2006/08/25
- ↑ 記事評価をお願いします。

