如何使用 ag(silver-searcher)搜索“$”?

jum*_*ett 3 search

我正在尝试搜索“${foo}”形式的参数化字符串。

ag "${"并且ag "\${"什么都不返回。你如何逃避“$”?

jum*_*ett 5

这是在他们的github 页面上回答的:

由于您使用的是双引号,因此您只是在从 shell 中转义美元符号。当 ag 看到它时,它是一个未转义的美元符号,因此被解释为行尾。尝试单引号或适当的转义:

$ ag '\$timeout'

$ ag "\\\$timeout"

grep 不受影响的原因是因为它默认使用基本的正则表达式。使用 -E 它的行为相同。