用sed命令查找并替换带有空格的字符串

4
在一个文件中有以下内容:
public $password = 'XYZ';

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

我已经在一个文件中拥有可以匹配上述字符串的正则表达式,但与sed不太兼容。

(public\s\$password\s=\s'(.*)'?)

我也尝试过

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

有什么想法吗?

1个回答

5

试试这个:

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

问题在于你需要“转义”圆括号,并且\s在输出模式中不起作用。你还错过了最后一个/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接