gunzip で GNU parallel を使用する方法

gunzip で GNU parallel を使用する方法

でいっぱいのディレクトリがあり.gz、GNU parallel を使用して各アーカイブを並列に展開したいと考えています。 しかし、何も達成できませんでした。

私は試した

parallel 'gunzip {}' ::: `ls *.gz`
parallel gunzip `ls *.gz`

結果がない場合は、bash は次のように表示します:

/bin/bash: archive1.gz: command not found
...

何が間違っているのでしょうか?

ありがとう

答え1

私は見つけたこれフラグの使用を提案します--gnu:

parallel --gnu gunzip  ::: *gz

これが機能する場合は、/etc/parallel/configその内容を削除するか、--gnu次のように変更する必要があります--tollef(root として):

echo "--gnu" > /etc/parallel/config

また、の出力を解析しないでくださいls、上記のようなグロブを使用するか、find代わりに以下を使用します。

find . -name "*gz*" -print0 | parallel -q0 gunzip 

答え2

これを行うと、次のようになります:

   ls *.gz | parallel -t gunzip

-tオプションですが、stderr で実行されるコマンドを表示するので便利です。

何か間違ったことをしているかどうかはわかりませんが:::(同等であるはずです)、マニュアル ページの例でさえ機能しません。

更新:--gnuフラグにより​​、terdon が言ったとおりに機能します。

関連情報