In einem größeren Skript zur Nachbearbeitung einiger Simulationsdaten hatte ich die folgende Zeile:
parallel bnzip2 -- *.bz2
Wenn ich parallel
das richtig verstehe (und das kann auch sein), sollten N-Core-Threads des Programms über alle Dateien mit der aufgelisteten Erweiterung laufen. Sie werden vielleicht bemerken, dass ich den Befehl falsch geschrieben habe bunzip2
. Ich würde hier eine Warnung oder Fehlermeldung erwarten, aber es schlägt stillschweigend fehl. Ist das beabsichtigt? Wie kann ich das in Zukunft vermeiden?
Aktualisieren:
Es kann sein, dass ich ein anderes parallel
installiert habe als ich glaube:
> parallel --version`
parallel: invalid option -- '-'
parallel [OPTIONS] command -- arguments
for each argument, run command with argument, in parallel
parallel [OPTIONS] -- commands
run specified commands in parallel
Eine Manpage parallel
auf meinem System enthält:
parallel(1) parallel(1)
NAME
parallel - run programs in parallel
....
AUTHOR
Tollef Fog Heen
Das scheint so zu seinnichtdie GNU-Version.
Antwort1
Sie sind von der Verwirrung mit Tollefs Parallele von moreutils betroffen. Siehehttps://www.gnu.org/software/parallel/history.html
Sie können GNU Parallel einfach wie folgt installieren:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
Sehen Sie sich die Einführungsvideos zu GNU Parallel an, um mehr zu erfahren: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Antwort2
(Ich würde dies als Kommentar abgeben, aber mir fehlen die Berechtigungen.)
Sie können wahrscheinlich auch einfach verwenden parallel --gnu
. Sie sagten, dass Ubuntu 12 (.04?) die Version von Tollef verwendet, aber es handelt sich tatsächlich um die GNU-Implementierung, die aus irgendeinem Grund standardmäßig nur die Syntax von Tollef verwendet.
Ich habe es alias parallel='parallel --gnu'
zu meinem Anmeldeskript hinzugefügt, damit ich mich nicht mehr damit herumschlagen muss.