目前,要查找我使用的具有简单字符串的文件,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' .