Вы, вероятно, имеете в виду что-то вроде этого:
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
за первую захваченную часть и так далее.