如何使用sed或awk或其他任何方式将带有特殊字符(如sha512加密字符串)的字符串替换为带有特殊字符的另一个字符串?
$6$random_salt$gGxk7E7kZE/bpfLsQ8mUt/BuL.VQ5SAbk.FaTQXV/seUjkIoLwnOfZXch/5CPEG5SYeHtWmykBQ898OkA6HMX1
让我们说:
$6$other_salt$dfkjdHsj1ghkJHJHwsjx11njJHd/.1djBkdfSAbk.FaTQX..!skjd.5CPEG5SYedsfsdmddslkHtWmykBQ8df98
在包含关键字'crypt'
的文件中的一行中如何在这些行上用双引号替换引号引号。我有一个脚本替换木偶清单中的密码变量。问题是默认情况下,puppet使用双引号来定义密码字段。我希望使用单引号包含sha512加密密码
这
class user {
password => "$6$other_salt$dfkjdHsj1ghkJHJHwX..!skjslkHtWmykBQ8df98"
}
到
class user {
password => '$6$other_salt$dfkjdHsj1ghkJHJHwX..!skjslkHtWmykBQ8df98'
}
答案 0 :(得分:0)
第一个问题:
我使用|
作为分隔符。
sed -e 's|$6$random_salt$gGxk7E7kZE/bpfLsQ8mUt/BuL.VQ5SAbk.FaTQXV/seUjkIoLwnOfZXch/5CPEG5SYeHtWmykBQ898OkA6HMX1|$6$other_salt$dfkjdHsj1ghkJHJHwsjx11njJHd/.1djBkdfSAbk.FaTQX..!skjd.5CPEG5SYedsfsdmddslkHtWmykBQ8df98|' file
第二
\x27
(十六进制)代表'
sed -e '/password/{s/"/\x27/g}' file