Perl/Sed 替换

Pec*_*eck 6 sed perl

下面的命令用于替换脚本中的密码,但 perl 命令在进行替换时会添加一个空格

password=arche20
perl -i -p -e "s/^(password[]*=[ ]*).*$/\1 $passwd/" config.properties

cat config.properties
userid=ARCHE
password= arche20
Run Code Online (Sandbox Code Playgroud)

它可以完成工作,但在替换密码时似乎会在密码后添加一个空格。这可以在没有空间的情况下完成吗?有sed办法:

sed -i "s/password.*/password=$passwd/g"
Run Code Online (Sandbox Code Playgroud)

Eri*_*ouf 14

\1在替换后有一个空格,只需将其删除即可

perl -i -p -e "s/^(password[]*=[ ]*).*$/\1$passwd/" config.properties
                                          ^
                                          Removed space here
Run Code Online (Sandbox Code Playgroud)