2013-05-21 242 views
0

的文件替換參數的值,我有這對我的配置文件:從bash腳本

TheParameter="TheValue" 

我試圖取代從bash腳本像TheValue,沒有運氣。

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

任何人都可以提出正確的方法嗎?

+0

下降括號 – Kevin

回答

2

看看這個例子:

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

sed默認情況下使用基本RE,其中()不是特殊的(不捕獲或分組)。您可能需要轉義它們(\(.*\)),使用-E標誌(擴展的RE),或完全刪除它們。