如何使用 GNU parallel 与 gunzip

如何使用 GNU parallel 与 gunzip

我有一个目录,里面装满了.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 所说的那样工作。

相关内容