単一のディレクトリ内の->foo
すべてのファイルでリテラル文字列を探しています。*.cpp
私が試したら
grep -F "->foo" *.cpp
grep レポート
Invalid option -- '>'
じゃあ、やってみたら
grep -F "-\>foo" *.cpp
私は得る
Invalid option -- '\'
どうすればこれを機能させることができますか?
これを試して:
grep -e "->foo" *.cpp
マニュアルページから:
-e PATTERN, --regexp=PATTERN
パターンとして PATTERN を使用します。これを使用して、複数の検索パターンを指定したり、ハイフン (-) で始まるパターンを保護したりできます。( -e は POSIX で指定されています。) [強調を追加]
一般に(grep
具体的ではありませんが) using--
はオプションの終わりを意味します。
grep -F -- "->foo" *.cpp
で始まるファイルを誤って作成してしまった場合に役立ちます-
:
$ touch -- -damn
$ ls -- -*
-damn
$ rm -damn
rm: invalid option -- 'd'
$ rm -- -damn