一次解压缩多个文件

Modified on: Thu, 14 Jun 2018 04:44:23 +0800

我在一个文件夹中有超过200个.zip文件。我不想一个一个地解压缩。我想使用单个命令或脚本来提取它们。怎么做。

作者:Braiam,g_p

最佳答案

如果你真的想要并行解压缩它们,你可以做到

for i in *zip; do unzip "$i" & done

然而,这将为N .zip文件启动N个进程,并且可能对您的系统非常沉重。对于更加受控制的方法,一次只启动10个并行进程,请尝试:

find . -name '*.zip' -print0 | xargs -0 -I {} -P 10 unzip {}

要控制启动的并行进程数,请将-P更改为您想要的任何内容。如果您不想递归到子目录,请改为:

find . -maxdepth 1 -name '*.zip' -print0 | xargs -0 -I {} -P 10 unzip {}

或者,您可以在评论中按照@OleTange的建议安装GNU parallel并运行

parallel unzip ::: *zip
作者:,terdon

相关问答

添加新评论