MacOs - 解压缩大量.gz文件

问题描述 投票:0回答:2

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

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

在我的终端我执行的地方:

gunzip 1.gz

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

gunzip *.gz

但它抛出:

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

因为文件太多了。

我该怎么办?

macos terminal command compression
2个回答
1
投票

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


0
投票

使用find

find . -exec gunzip '{}' +

或者您可以明确查看尚未被枪杀的文件:

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

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

大括号周围的单引号可以正确处理文件和目录名称中的空格。这就是为什么xargs在尝试解决这样的问题时会遇到问题。

© www.soinside.com 2019 - 2024. All rights reserved.