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

Ich brauche eine neue Zeile am Ende von tomcat.javaoptions mit sed hinzufügen. Ich muss Regex verwenden, weil ich nicht weiß, wie Java-Optionen ursprünglich aussehen werden. Ich weiß nur, dass es von tomcat.javaoptions= startet und mehrere Zeilen haben kann. Irgendeine Idee?Bearbeiten Sie Java-Optionen mit sed

EDITED: Ich brauche

... 
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 
... 

neue Zeile einzufügen habe ich versucht, es nur "-agentpath" nur hinzufügen, aber kein Glück

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

Antwort

0

Ich weiß nicht, was die Ende tomcat.javaoptions Zustand ist, aber ich das Skript ändern, so funktioniert es:

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

Änderungen:

  • Denken Sie daran, -r Parameter sed,
  • ersetzen Ihre /n mit \n hinzuzufügen.