我在xml文件中有以下文字:
<Connector port="8983" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
作为构建脚本的一部分,我需要将8983端口替换为另一个端口号,比如说8181.所以我只需要更改上面的第一行(忽略任何行号,因为这行可能出现在文件的任何地方)。此外,不依赖端口号,在这种情况下它是8983但它可能是其他的东西。总结一下:我需要更改模式第一次出现的数字\Connector port="\d{4}" protocol="HTTP\/1.1$\
我试过
sed 's#Connector port="\d{4}" protocol="HTTP/1.1"#Connector port="8181" protocol="HTTP/1.1"#' -i server.xml
没有错误,但对文件没有影响。
最好的方法是什么?
PS:服务器运行Ubuntu 12.04
答案 0 :(得分:0)
在Linux上(我在Ubuntu上测试过):
sed -i 's/Connector port="8983" protocol="HTTP\/1.1"/Connector port="8181" protocol="HTTP\/1.1"/' server.xml
在OSX上(在10.10上测试):
sed -i '' 's/Connector port="8983" protocol="HTTP\/1.1"/Connector port="8181" protocol="HTTP\/1.1"/' server.xml