Warum schlägt (GNU?) parallel stillschweigend fehl und wie behebe ich das?

Warum schlägt (GNU?) parallel stillschweigend fehl und wie behebe ich das?

In einem größeren Skript zur Nachbearbeitung einiger Simulationsdaten hatte ich die folgende Zeile:

parallel bnzip2 -- *.bz2

Wenn ich paralleldas 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 parallelinstalliert 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 parallelauf 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.

verwandte Informationen