我正在尝试运行该命令。
grep -rin "wp_get_attachment_url" *
但是字符串值中的下划线 (_) 似乎会搞乱 grep 命令。如何搜索带有下划线的字符串值?
答案1
如果wp_get_attachment_url
实际上是一个必须按字面解释的 URL,请使用单引号来防止 shell 解释字符。此外,使用选项-F
来grep
避免它将模式解释为正则表达式。
http://example.com/?id=1
解释为正则表达式将匹配或http://example.comid=1
,http://example.com/id=1
但不匹配http://example.com/?id=1
。
命令变为:
grep -rinF 'http://example.com/?id=1' *
如果模式包含'
,则使用'\''
来转义它:
grep -rinF 'mornin'\'' all' *
提示:*
匹配当前目录中所有非隐藏文件。如果您还想匹配点文件,只需递归地 grep 当前目录即可(-r
):
grep -rinF 'search term' .