我正在编写一个脚本来将正确的卫星网址插入到/etc/sysconfig/rhn/up2date
我试图将此命令添加到脚本中:
sed -i 's/https//.*XMLRPC///https servername.com XMLRPC/g' /etc/sysconfig/rhn/up2date
但我得到了:
sed: -e expression #1, char 10: unknown option to `s'
我该如何解决?
答案1
您正在使用/
作为分隔符和作为正则表达式的一部分,不使用任何转义符。Sed 无法区分不同的用途,因此会感到困惑。您可以\
在正则表达式和替换模式中的所有斜杠前使用(反斜杠),但在这种情况下,使用不同的分隔符会更容易。我对您的行也有点困惑,但我的猜测是,使用#
作为 sed 模式分隔符。:
sed -i 's#https//.*XMLRPC#//https servername.com XMLRPC#g' /etc/sysconfig/rhn/up2date