perl /sed 置換の間に余分なスペース

perl /sed 置換の間に余分なスペース

次のコマンドはスクリプトでパスワードを置き換えるために使用されますが、perl コマンドは置換時にスペースを追加します。

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

cat config.properties
userid=ARCHE
password= arche20

私は仕事をしましたが、交換時にパスワードの後に​​スペースを追加したようです。スペースがなければできませんか?sed方法があります:

sed -i "s/password.*/password=$passwd/g"

ベストアンサー1

\1交換後のスペースがあるので、取り外すと作動します

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

おすすめ記事