shell variable in a grep regex
我正在尝试在grep正则表达式中使用变量。 我将发布一个失败的例子,也许有人可以建议如何在运行grep命令时对变量进行评估。 我也试过
1 2 3 4 | $ string="test this" $ var="test" $ echo $string | grep '^$var' $ |
由于我的正则表达式应该匹配以"test"开头的行,它应该打印通过它回显的行。
1 2 3 | $ echo $string test this $ |
你需要使用双引号。 单引号可防止shell对shell变量进行插值。 您使用单引号来防止shell进行插值,如果正则表达式使用
此外,您可能需要将变量放在花括号
例:
1 2 3 | $ string="test this" $ var="test" $ echo $string | grep"^$var" |