grepは、特殊文字を含む文字列を含むファイルを探します。

grepは、特殊文字を含む文字列を含むファイルを探します。

現在私が使用している単純な文字列を含むファイルを見つけるには、grep -iRl "text" ./ 次の文字列を探したいと思います->text

grep -F -iRl "text" ./ 脱出しようとしたが役に立た-\>textなかった。無効なオプションエラーが発生しました。特殊文字はどのように使用しますか?ありがとう

答え1

使用grep -e:

grep -F -iRl -e "->text" ./

または

grep -F -iRl -e -\>text ./

エスケープまたは引用は次>のとおりです。シェル文字通り通り抜けましたが役に立ちgrepません。grepダッシュで始まる引数はオプションになると予想されます。オプションとともにパターンを明示的に提供することで、-eこの問題を回避できます。

私のDebianのGNU grepのマニュアルページには、次のようなものもあります。

-e PATTERNS--regexp=PATTERNS
パターンとしてPATTERNSを使用します。 [...]このオプションは、「-」で始まるパターンを保護するために使用できます。

答え2

オプションと引数を区別するために、二重マイナス記号を使用できます。

grep -iRlF -- '->text' .

関連情報