3

単一のディレクトリ内の->fooすべてのファイルでリテラル文字列を探しています。*.cpp私が試したら

grep -F "->foo" *.cpp

grep レポート

Invalid option -- '>'

じゃあ、やってみたら

grep -F "-\>foo" *.cpp

私は得る

Invalid option -- '\'

どうすればこれを機能させることができますか?

4

2 に答える 2

5

これを試して:

grep -e "->foo" *.cpp

マニュアルページから:

-e PATTERN, --regexp=PATTERN
パターンとして PATTERN を使用します。これを使用して、複数の検索パターンを指定したり、ハイフン (-) で始まるパターンを保護したりできます。( -e は POSIX で指定されています。) [強調を追加]

于 2012-12-17T20:10:00.980 に答える
5

一般に(grep具体的ではありませんが) using--はオプションの終わりを意味します。

grep -F -- "->foo" *.cpp

で始まるファイルを誤って作成してしまった場合に役立ちます-:

$ touch -- -damn 

$ ls -- -*
-damn

$ rm -damn
rm: invalid option -- 'd'

$ rm -- -damn
于 2012-12-17T20:12:20.667 に答える