我的sed命令在shell脚本中不起作用

时间:2016-02-10 06:07:54

标签: sed

我有一个像这样的sed命令,根据特定的模式注释掉一个特定的行:

sed -e '/$OLD_VERSION/ s/^#*/#/' -i /ws/usernam/workspace/scripts/raw-vobs-config-spec

在这里,我们需要注释掉包含$OLD_VERSION的行。我已将$OLD_VERSION作为参数传递给我的shell脚本。

1 个答案:

答案 0 :(得分:1)

在shell中使用单引号时,它会阻止普通变量扩展,因此$OLD_VERSION不会扩展。由于您没有任何其他需要转义的字符,因此修复应该像使用双引号一样简单:

sed -e "/$OLD_VERSION/ s/^#*/#/" -i /ws/usernam/workspace/scripts/raw-vobs-config-spec