Ich habe ein Verzeichnis voller .gz
, ich möchte jedes Archiv parallel mit GNU parallel erweitern. Ich habe jedoch nichts erreicht.
Ich habe es versucht
parallel 'gunzip {}' ::: `ls *.gz`
parallel gunzip `ls *.gz`
ohne Ergebnisse sagt mir Bash:
/bin/bash: archive1.gz: command not found
...
Was mache ich falsch?
Danke
Antwort1
ich fandDas, was die Verwendung der --gnu
Flagge vorschlägt:
parallel --gnu gunzip ::: *gz
Wenn dies funktioniert, sollten Sie /etc/parallel/config
den Inhalt entweder löschen oder wie folgt ändern : --gnu
statt --tollef
(als Root)
echo "--gnu" > /etc/parallel/config
Auch,Analysieren Sie niemals die Ausgabe von ls
., verwenden Sie Globbing wie oben oder find
stattdessen:
find . -name "*gz*" -print0 | parallel -q0 gunzip
Antwort2
So funktioniert es:
ls *.gz | parallel -t gunzip
Dies -t
ist optional, aber nützlich, da es Ihnen die Befehle anzeigt, die auf stderr ausgeführt werden.
Ich bin nicht sicher, ob Sie etwas falsch machen. :::
Es sollte funktionieren (es soll gleichwertig sein), aber nicht einmal die Beispiele auf der Manpage funktionieren bei mir.
Update: Die --gnu
Flagge lässt es funktionieren, wie Terdon sagte.