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' .

相关内容