grepコマンドの各オプションの使い方を調査した
August 27, 2014
書式
grep [オプション] [パターン] [ファイル名]
オプション
オプション
意味
-A NUM, —after-context NUM
NUMで指定した行だけマッチした行の後に表示する
-B NUM, —before-context NUM
NUMで指定した行だけマッチした行の前に表示する
-C, —contest
NUMで指定した行だけマッチした行の前後に表示する
-c, —count
マッチした行数を表示する
-e PATTERN, —regexp=PATTERN
パターンを指定
-E PATTERN, —extended-regexp=PATTERN
拡張正規表現として扱う。egrepと同じ。
-f FILE, —file=FILE
パターンをファイルから一行ずつ読み込む。空ファイルの場合はパターンを含まないので何にもマッチしない。
-G, —basic-regexp
通常のgrepとして動作。基本正規表現として扱う。
-H
マッチした行の頭にファイル名を表示する
-h, —no-filename
ファイル名を表示しない。
-i
パターン、入力の両方で大文字小文字を区別しない case-sensitive=大文字小文字を区別するという意味
-o, —only-matching
マッチした箇所のみ表示する
-q, —quiet, —silent
標準出力を抑える
-v, —invert-match
結果を反転してマッチしなかった行のみ表示。invert=逆にする、反対にする
-w, —word-regexp
キーワードにマッチする行のみ表示する
-Z
zgrepとして動作
備考
-
正規表現には基本正規表現と拡張正規表現の2種類がある。オプションで正規表現を実行する際はどちらで評価されるのか注意する事
-
refs :
例
-B
$ grep -B 2 bird search.txt dog cat bird
-C
$ grep -C 2 bird search.txt dog cat bird elephant pig
-H
$ grep -H a *.txt animals.txt:cat animals.txt:elephant animals.txt:zebra fruits.txt:apple fruits.txt:pineapple fruits.txt:strawberry
-o
$ grep a animals.txt cat elephant zebra $ grep -o a animals.txt a a a
-v
$ grep -v a animals.txt dog bird pig horse