sed试图用另一个字符串替换字符串

时间:2014-02-24 13:29:58

标签: regex bash sed

我的bash脚本中有以下regex命令:

 sed -i -e 's/\(expose_php = On\)/\1expose_php = Off/' /etc/php/php.ini

而不是替换:

  expose_php = On

expose_php = Off

它正在执行以下操作:

 expose_php = Onexpose_php = Off

这是我在bash和sed的第一次破解...... 任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您可以使用:

sed -i -e 's/expose_php = On/expose_php = Off/' /etc/php/php.ini

无需捕获匹配项,并在您的情况下使用替代参考\1替换。