bash sed:-e 表达式 #1,字符 21:"s"命令的数字选项可能不为零



我想重写conf文件中的一行。应该放在第 88 行的文本是:auth 0.0.0.0/0 - - 我的命令是:

sed -i '88s/.*/auth 0.0.0.0/0 - -/' /etc/opt/ss5/ss5.conf

但是我收到错误

sed: -e expression #1, char 21: number option to `s' command may not be zero

我该如何解决这个问题?

这是因为您尝试注入的文本包含 sed 用作分隔符的/
您需要转义此斜杠,或使用不同的 sed 分隔符。Sed 可以接受任何字符作为分隔符,即 #。

sed -i '88s/.*/auth 0.0.0.0/0 - -/' /etc/opt/ss5/ss5.conf
#OR
sed -i '88s#.*#auth 0.0.0.0/0 - -#' /etc/opt/ss5/ss5.conf

相关内容

最新更新