0

我在替换配置文件中的默认密码哈希时遇到问题:

sed -i 's/default_password_crypted: "[^"]*"/default_password_crypted: "\$1\$mF86/UHC\$WvcIcXred6crBz2onWxyac."/' input.txt

我收到以下错误:

sed: -e 表达式 #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

我如何需要为哈希编写替换模式?

谢谢

4

1 回答 1

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

您也不需要逃避$内部替换。

于 2013-07-17T19:49:52.857 回答