2017-07-12 4 views
1

Ich versuche, den sed Befehl von meinem Java-Code auszuführen. Der Befehl ersetzt das Wort "Java" durch "Python" im Grunde überall in der Datei OIMV2Migration.sh.SED-Befehl nicht über JAVA-Code

Der Code-Snippet Ich verwende ist:

String [] replaceTextInOIMscipt = {"sed" , "'s:java:python:g'" ,OIMV2Migration.sh"}; 

Runtime.getRuntime().exec(replaceTextInOIMscipt); 

Dieses Stück Code ist auf der OIMV2Migration.sh Datei keine Änderungen zu tun.

+1

Versuchen Sie: '{" sed "," -i "," 's: java: python: g "" ... " – komar

+0

Versucht.Nicht wokring jetzt auch. –

+0

Auf welcher Plattform ist das? Insbesondere verwenden Sie GNU sed? –

Antwort

0

Es funktioniert nicht, weil Ihr sed Skript ungültig ist. Es beginnt mit einem einfachen Anführungszeichen, ', das kein gültiger sed Befehl ist. Sie wollen es mit s, in Ihrem Fall zu starten:

String [] replaceTextInOIMscipt = {"sed", "s:java:python:g", "-i", "OIMV2Migration.sh"}; 
Runtime.getRuntime().exec(replaceTextInOIMscipt); 

Auch Sie zur -i/--in-place Flagge fehlt die Datei an seinem Platz zu bearbeiten.