2017-04-04 30 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!'