0

我的配置文件中有这对:

TheParameter="TheValue"

我正在尝试从 bash 脚本中替换 TheValue,但没有成功。

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

任何人都可以提出正确的方法吗?

4

2 回答 2

2

看这个例子:

kent$  echo 'TheParameter="TheValue"'|sed 's/\(TheParameter="\).*/\1newValue"/'
TheParameter="newValue"
于 2013-05-21T15:52:35.160 回答
1

sed, 默认情况下,使用基本 RE,其中()不特殊(不捕获或分组)。您要么需要对它们进行转义(\(.*\)),要么使用-E标志(扩展 RE),要么完全删除它们。

于 2013-05-21T15:51:36.123 回答