0
 ...
 tomcat.javaoptions=-Djava.net.preferIPv4Stack\=true \
-Djava.net.preferIPv6Addresses\=false \
-Dcom.sun.management.jmxremote.port\=12345 \
-Djava.rmi.server.hostname=${application.hostname}
 ...

我需要使用 sed 在 tomcat.javaoptions 的末尾添加新行。我必须使用正则表达式,因为我不知道 java 选项最初的外观。我只知道它从开始tomcat.javaoptions=并且可以有多行。任何想法?

已编辑: 我需要添加新行

 ...
 tomcat.javaoptions=-Djava.net.preferIPv4Stack\=true \
-Djava.net.preferIPv6Addresses\=false \
-Dcom.sun.management.jmxremote.port\=12345 \
-Djava.rmi.server.hostname=${application.hostname} \
-agentpath:/opt/agent/agent.so,name=agent
 ...

我试过只是添加“-agentpath”但没有运气

sed -i "/^tomcat.javaoptions=(.*/n*)*/s/$/ \\\\\n  -agentpath/g" file
4

1 回答 1

0

我不知道tomcat.javaoptions条件的结束是什么,但我修改了你的脚本,所以它可以工作:

sed -r -i -e "/^tomcat.javaoptions=(.*\n*)*/s/$/ \n  -agentpath/g" File

变化:

  • 记得添加-r参数sed
  • 将您的替换/n\n.
于 2016-12-02T14:04:00.717 回答