如何使用 grep 在文件中找到“-R”?我尝试grep "-R" *.GNU
获取包含 -R 的行,但它什么也没返回。
答案1
尝试:
grep -- -R *.GNU
表示--
选项结束,因此-R
被视为参数而不是选项grep
答案2
相当多的 GNU 工具支持一个选项,您可以在其中告诉工具(rm
、grep
、ls
等)您不再希望它继续向自身解析命令行选项。通过用双破折号标记命令行输入可以方便地使用此选项--
。
您可以在中阅读更多相关信息GNU CoreUtils 常见问题解答。具体来说,本节的标题为:11 如何删除以破折号开头的文件。
这允许以破折号(即-
)开头的文件作为命令行参数传递:
例子
rm ./-stuff
rm /full/path/-stuff
rm -- -stuff
mv ./-stuff differentstuff
mv -- -stuff differentstuff
答案3
答案4
尝试像这样转义破折号
grep "\-R" *.GNU