Ich versuche, eine Reihe von Prozessen dynamisch auf einer festen Anzahl von Prozessoren auszuführen. Ich möchte die Ausgabe für jeden Prozess in eine eindeutige Datei drucken, aber es gibt ein Problem mit Xargs, die den In-Place-Dateinamen nicht verwenden, um eine separate Datei für jeden Prozess zu erstellen.Senden der Befehlsausgabe an eine eindeutige Datei mit Xargs in Bash
Der Bash-Skript ruft eine Csh Skript und ist unter:
$ cat temp | xargs -P 8 % csh '%'.csh >& '%'.log
Wo Temp eine Textdatei von csh Befehlsnamen ist.
Mein Problem ist, dass xargs %.log
wörtlich nimmt und ständig die Datei überschreibt, während die Prozesse darauf schreiben, anstatt separate .log
Dateien wie gewünscht zu haben.
Ich betreiben dieses Skript als $ bash run.bash &
Danke für die ausführliche Antwort. –
@WillPhilpott, wenn dies Ihre Frage vollständig beantwortet, sollten Sie das Kontrollkästchen neben der Antwort aktivieren, um diese Frage zu markieren. –