‘-‘から始まる文字列を検索する方法
以下のように-eオプションを使います。
grep -e -foo sample.txt
man grepの-eオプションの説明には以下のように書かれています。
This option is most useful when multiple -e options are used to specify multiple patterns, or when a pattern begins with a dash(`-’).
正規表現
デフォルトでは正規表現に+などが使えません。
GNU grep、BSD grepともに、-Eオプションをサポートしていて、
-eオプションの代わりに指定すると使用可能です。
あるいはegrepコマンドでもOKです。
GNU grepでは-Pオプションをサポートしています。
これはPCREを使ったPerl 5互換の正規表現をサポートしたものです。
マッチした文字列のみ表示
以下のように-oオプションを使います。
ls -l | grep -oE '[a-z]+'