-G
基本正規表現(BRE)デフォルト
-E
拡張正規表現(ERE)
-P
Perl互換正規表現(PCRE)(実験的機能)
-F
文字列リスト(改行区切り)正規表現ではない.
-e
明示的パターン指定(複数パターンや-f
との併用可能)
-f
ファイルより,1ライン1パターン
-i
大文字小文字区別なし
-v
マッチ行を除去
-w
マッチ部分が完全な単語の場合のみ -x
併用時は無効.
-x
パターンが行全体といっちしたとき(^~~~$
な挙動)
-y
-i
と同じ
-c
一致行数出力
--color=always
いろつき
-L
一致しないファイルを表示
-l
一致したファイルを表示
-m NUM
一致した行数がNUM
に達したらファイル読み込み終わり.
-o
一致した部分のみ
-q
沈黙モード
-s
エラーメッセージ抑制
-b
バイトオフセット(要理解)出力する各行の前に、その入力ファイル内での 0 から始まる バイト単位のオフセットを表示します。 -o (--only-matching) も指定されているときは、マッチする部分そのもののオフセットを示します。
-H
ファイル名を表示(検索ファイルが2つ以上の場合デフォルト)-h
ファイル名を非表示(標準入力や,検索するファイルが1つの場合デフォルト)--label=LABEL
標準入力から来た入力をLABEL
ファイルとして出力させる.-n
行番号(1始まり)-T
マッチ行の最初の文字がTab位置にくるようにする.-u
Unix形式バイトオフセット(CR切り捨て?)-b
と併用必須.Windows/DOSでは意味なし.-Z
ファイル名に続いて,0/1 を出力.。 たとえば、 grep -lZ は、いつもの改行 (newline) ではなく、値が 0 の 1 バイトを各ファイル名の後ろに 出力するのです。 このオプションは、改行のような変わった文字を含むファイル名があるときでも、 出力の曖昧さをなくしてくれます。 このオプションを find -print0, perl -0, sort -z, xargs -0 などのコマンドと組み合わせて使うと、行儀の悪いファイル名も 処理することができます。 ファイル名が改行文字を含んでいても処理できるのです。
マッチ前後行を含むマージンで,1グループ.グループ区切りが--
の行.
-A NUM
マッチの後行マージン(-o
と併用で-o
優先)-B NUM
マッチの前行マージン(-o
と併用で-o
優先)-C NUM
マッチの前後行マージン(-o
と併用で-o
優先)-a
バイナリファイルをテキストファイルとして扱う.
--binary-files=TYPE
binary
デフォルト.バイナリファイルだというメッセージ1行出力.without-match
-l
と等価.バイナリファイルなら残りはマッチしない?text
テキストとして扱う.-a
と等価.端末にゴミ出す場合あり.-a
またはLC_ALL=C
併用推奨.-D ACTION
入力ファイルが Device/FIFO/Socket のいずれかの場合
read
デフォルト.通常ファイルのように扱う.skip
黙ってスキップrerTODO: 続き https://linuxjm.osdn.jp/html/GNU_grep/man1/grep.1.html
# Perl
grep -P 'keyword|$'
grep -E 'keyword|$'