MacOs-解压缩大量.gz文件

时间:2018-09-10 14:01:40

标签: macos terminal command compression

我有一个包含40,000个文件的文件夹,都名为1.gz> 40000.gz

我正在使用mac终端在文件夹中执行此操作

我在终端机中执行的位置:

gunzip 1.gz

它解压缩了一个文件,然后我尝试将所有文​​件解压缩:

gunzip *.gz

但是它抛出:

-bash: /usr/bin/gunzip: Argument list too long

因为文件太多。

我在这里应该做什么?

2 个答案:

答案 0 :(得分:1)

将四分之一的文件移到新的临时文件夹中?移动它们非常快。然后,您可以将它们从temp文件夹移回原始文件夹。实际上,最简单的方法可能是在包含40,000个文件的文件夹内创建一个临时文件夹。然后它们将很容易移入和移出。 Gunzip似乎可以处理约12,200个文件,但不能处理13,300个文件。因此,一次完成10,000个文件应该很容易。

答案 1 :(得分:0)

使用find

find . -exec gunzip '{}' +

或者您可以显式查找尚未压缩的文件:

find . -name \*.gz -exec gunzip '{}' +

这些将对当前目录及以下目录中的所有内容执行。如果要将其限制为当前目录,请在选项中添加-maxdepth 1

用大括号括起来的单引号是为了正确处理文件名和目录名中的空格。这就是为什么xargs在尝试解决此类问题时会遇到问题的原因。