全然覚えないので
基本
grep [オプション...] パターン [ファイル...]
grep [オプション...] [ファイル...] -e パターン
ファイルを指定しないと標準入力をパターンマッチング
オプション
-a, --text, --binary-files=text
通常だとgrepがバイナリだと認識してしまうファイルも強制的にテキストとして認識させる。 テキストファイルでも最初の方に少しテキストでないバイナリがゴミとかで含まれちゃっていると、 grepはバイナリファイルだと勘違いしてしまう。バイナリ扱いになってしまうと、差分の内容が表示されないので、 無理にテキストファイルとして扱わせるオプション。
-A 行数
このオプションを指定するとマッチした行の後も指定した行数を出力する。
-B 行数
このオプションを指定するとマッチした行の前も指定した行数を出力する。
--color=always
カラーで表示する。これを付けなくてもデフォルトでカラー表示かもしれないが、 出力をパイプでつないだときは自分の環境ではこのオプションを付けないとカラー表示にならなかった。 less -R を使いたいときには、パイプなのにカラー表示したい、という状況になる。
-e パターン
パターンを指定する。-e オプションがない場合は最初のパラメータがパターンと見なされる。
-E
拡張正規表現を使う。 (foo|bar) のような表記の正規表現を使うには、 このオプションが必要。
-i
大文字小文字を区別せずにマッチングをする。
-l (小文字エル)
マッチしたファイルのファイル名のみを出力する。
-L
マッチしなかったファイルのファイル名を出力する。
--line-buffered
行ごとのバッファリングにする。tail -f などからパイプで受け取るときに便利。
-n
検索結果の出力に行番号をつける。
-H
検索結果の出力にファイル名を付ける。 検索対象のファイルが1つの場合にはデフォルトではファイル名は出力されず、 複数の場合にはデフォルトでファイル名が出力される。 このオプションを付けるとたとえファイルが1つでもファイル名が出力される。
-o
マッチした部分のみを表示する。このオプションがなければマッチした行全体を表示する。
-r
ディレクトリを再帰的にたどって検索する。
-v
通常とは逆に、マッチしない行を出力する。