sed查找并替换带空格的字符串

时间:2014-07-15 09:30:58

标签: regex linux bash replace sed

在文件中包含以下内容:

public $password = 'XYZ';

我正在尝试通过备份文件中的自动部署过程将密码的值替换为另一个值。

我有一个与文件中上面的字符串匹配的regext,但与sed

的兼容性不高
(public\s\$password\s=\s'(.*)'?)

我也试过

sed -i -e "s/public\s\$password\s=\s'(.*)'/private\s\$password\s=\s'jingle'" configuration.php

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

试试这个:

sed -i -e "s/public\s\$password\s=\s'\(.*\)'/private \$password = 'jingle'/" configuration.php

问题是你需要逃避'圆括号,\s在输出模式中不起作用。你也错过了最后的/