現在私が使用している単純な文字列を含むファイルを見つけるには、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' .