2017-04-04 38 views
0

的我有這條線的配置文件:桑達整條生產線只用了開頭的行

foo.bar = http://localhost/foo 

我想更換一個新的URL這條線。例如:

foo.bar = http://new_url/bar 

但是我不知道原始的url,我只知道參數的名字。

我嘗試這樣做:

sed "s!^foo.bar.*!foo.bar = http://new_url/bar!" test.ini 

但它返回一個錯誤

回答

0

bash雙引號和!不要」當放在裏面時(請參閱HISTORY EXPANSION,在man bash中),請更換分隔符tor至@(或)使用單引號

sed '[email protected]*@foo.bar = http://new_url/[email protected]' file 
foo.bar = http://new_url/bar 
2

使用引號,以防止shell擴展:

sed -e 's!^foo.bar.*!foo.bar = http://new_url/bar!'