我有一个像这样的sed命令,根据特定的模式注释掉一个特定的行:
sed -e '/$OLD_VERSION/ s/^#*/#/' -i /ws/usernam/workspace/scripts/raw-vobs-config-spec
在这里,我们需要注释掉包含$OLD_VERSION
的行。我已将$OLD_VERSION
作为参数传递给我的shell脚本。
答案 0 :(得分:1)
在shell中使用单引号时,它会阻止普通变量扩展,因此$OLD_VERSION
不会扩展。由于您没有任何其他需要转义的字符,因此修复应该像使用双引号一样简单:
sed -e "/$OLD_VERSION/ s/^#*/#/" -i /ws/usernam/workspace/scripts/raw-vobs-config-spec