sed:-e 表达式 #1,字符 9:未终止的“s”命令

sed:-e 表达式 #1,字符 9:未终止的“s”命令

我尝试使用该sed命令进行一些文本替换,

sed -i 's/port=\"8080\"/port="\8000\"' /opt/apache-tomcat-7.0.37/conf/server.xml 

但是我遇到了这个错误:

sed: -e expression #1, char 9: unterminated `s' command

问题是什么?

答案1

未终止的“s”命令表示您缺少分隔符。您需要 3 个分隔符,但您的命令中只有 2 个。

sed -i 's/port=\"8080\"/port="\8000/"' /opt/apache-tomcat-7.0.37/conf/server.xml 

我将最后一个 \ 翻转为 / 并且它有效:

more test
  port="8080"
sed -i 's/port="8080"/port="8000"/' test
more test
  port="8000"

相关内容