我用我想要找的文字调用程序,所以programname '-r'
然后,在脚本中我有text="${1}"
find . -r -name "hi.*" -exec grep -l "${text}" {} \;
后半部分简化为grep -l -r
并等待另一个输入
如何指定-r
是要找到的字符串,而不是选项?
答案 0 :(得分:0)
在--
[或您的上一个有效选项]之后添加-l
。这会停止grep
中的选项处理,以便您的文本将被解释为要搜索的字符串而不是选项:
find . -r -name "hi.*" -exec grep -l -- "${text}" {} \;
答案 1 :(得分:0)
POSIX标准要求grep
支持一个选项-e
,强制将以下参数视为正则表达式,而不是另一个选项。
find . -r -name "hi.*" -exec grep -l -e "$text" {} \;