Perl / Sed substituição

5

Abaixo, o comando é usado para substituir a senha em um script, mas o comando perl está adicionando um espaço em branco quando faz a subsistencia

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

cat config.properties
userid=ARCHE
password= arche20

Ele faz o trabalho, mas parece estar adicionando um espaço após a senha quando ele é substituído. Isso poderia ser feito sem o espaço? Tem um caminho sed :

sed -i "s/password.*/password=$passwd/g"
    
por Peck 18.05.2015 / 20:27

1 resposta

12

Você tem um espaço depois de no seu substituto, apenas remova isso e você deve ser bom

perl -i -p -e "s/^(password[]*=[ ]*).*$/$passwd/" config.properties
                                          ^
                                          Removed space here
    
por 18.05.2015 / 20:35

Tags