Linux Sed搜索特殊字符

时间:2018-12-18 13:34:53

标签: linux sed replace

我正在用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"

1 个答案:

答案 0 :(得分:0)

我认为这会起作用

sed -i -e "s/\(client_config.*john_doe.*\)'other value'/\1'0.1.8'/" your_file