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

관련 정보