Perl
perl中的字元串連接?
如果這個問題太基本了,我深表歉意,但我對 perl 真的很陌生。現在我想在一行中編寫以下兩行程式碼:
perl -e 'print crypt("my_password","\$6\$my_salt\$")' perl -pe 's|(root):(\$.*?:)|\1:my_encrypted_password:|' /etc/shadow
基本上我想用
my_encrypted_password
第一行列印的內容替換。但我不知道如何正確編寫它?任何幫助將不勝感激。
你的意思可能是這樣的:
perl -pe 's|(?<=root:)[^:]*|crypt("my_password","\$6\$my_salt\$")|e' /etc/shadow
來自
perldoc perlre
:Substitution-specific modifiers described in "s/PATTERN/REPLACEMENT/msixpodualngcer" in perlop are: e - evaluate the right-hand side as an expression
在右側,您可以使用
$&
來指代匹配的部分和$1
第一個擷取的部分,依此類推。