我正在用sed
替换文件中字符串的值。
一个名为config.php
的文件的示例,我要在其中将john_doe的值修改为“其他值”为“ 0.1.8”,其中包含:
$client_config['jane_doe'] ='value';
$client_config['john_doe'] = 'other value';
但是此命令替换了我显然不希望的john和jane doe的值。 (字符=之间可以有多个空格):
sed -i -e "/$client_config[\'john_doe\']*=/ s/= .*/= \'0.1.8\';/g" "/home/foo/config.php"
答案 0 :(得分:0)
我认为这会起作用
sed -i -e "s/\(client_config.*john_doe.*\)'other value'/\1'0.1.8'/" your_file