我在配置文件中替换默认密码哈希时遇到问题:
sed -i 's/default_password_crypted: "[^"]*"/default_password_crypted: "\$1\$mF86/UHC\$WvcIcXred6crBz2onWxyac."/' input.txt
我收到以下错误:
sed:-e expression#1,char 74:`s'
的未知选项
工作的:
search pattern: default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
sed -i 's/default_password_crypted: "[^"]*"/default_password_crypted: "1234567890"/' input.txt
我如何为哈希编写替换模式?
THX
答案 0 :(得分:0)
您需要在替换内部转义文字/
,因为它是分隔符:
sed -i 's/default_password_crypted: "[^"]*"/default_password_crypted: "\$1\$mF86\/UHC\$WvcIcXred6crBz2onWxyac."/' input.txt
或者只是使用其他字符,例如,
:
sed -i 's,default_password_crypted: "[^"]*",default_password_crypted: "\$1\$mF86,UHC\$WvcIcXred6crBz2onWxyac.",' input.txt
您也无需逃离替换内的$
。