从Bash脚本替换文件中的参数值

时间:2013-05-21 15:47:28

标签: bash unix

我的配置文件中有这对:

TheParameter="TheValue"

我试图用bash脚本替换TheValue,就像没有运气一样。

sed 's/TheParameter="(.*)"/TheParameter="NewValue"/' /etc/my.conf 

有人能建议正确的方法吗?

2 个答案:

答案 0 :(得分:2)

见这个例子:

kent$  echo 'TheParameter="TheValue"'|sed 's/\(TheParameter="\).*/\1newValue"/'
TheParameter="newValue"

答案 1 :(得分:1)

默认情况下,

sed使用基本RE,其中()不是特殊的(不捕获或分组)。您需要转义它们(\(.*\)),使用-E标志(扩展RE)或完全删除它们。