Ich möchte gerne cat /path/to/file1 /path/to/file2 > /path/to/file3 aus einem Groovy Programm heraus machen.
"cat /path/to/file1 /path/to/file2 > /path/to/file3".execute() geht leider nicht, obwohl es mit anderen Kommandozeilen Befehlen wunderbar funktioniert.
"sh -c 'cat /path/to/file1 /path/to/file2 > /path/to/file3'".execute() hat leider auch nichts gebracht.
Das cat funktioniert nicht, weil stdout umgeleitet ist und damit nicht von deinem aufgerufenen Kommandozeilenbefehlen verwendet werden kann. Dafür steht es dir in deiner Groovy-Umgebung zur Verfügung. Ich vermute mal, du willst zwei Dateien aneinanderhängen. Das kannst du auch so machen:
new File('/path/to/file3').text = new File('/path/to/file1').text + new File('/path/to/file2').text
Im Ergebnis sollte dasselbe rauskommen, wie bei der Verwendung von cat.