我正在尝试搜索形式为“${foo}”的参数化字符串。
ag "${"
并且ag "\${"
不返回任何内容。如何转义“$”?
答案1
这个问题已在他们网站上得到解答github 页面:
由于您使用的是双引号,因此您只会从 shell 中转义美元符号。当 ag 看到它时,它是一个未转义的美元符号,因此被解释为行尾。尝试使用单引号或正确的转义:
$ ag '\$timeout'
$ ag "\\\$timeout"
grep 不受影响的原因是它默认使用基本正则表达式。使用 -E 时,其行为相同。