2014-02-24 285 views
1

我在我的bash腳本以下的正則表達式的命令:Sed則試圖用另一個字符串替換字符串

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上破解... 任何指針,將不勝感激。

+0

您正在捕捉'expose_php = On',然後使用'\ 1'打印回來。 – fedorqui

回答

1

您可以使用:

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

無需捕捉了比賽,在更換你的情況使用反向引用\1