提取包含 .gz 扩展名文件的 .tar.gz 文件

提取包含 .gz 扩展名文件的 .tar.gz 文件

使用问题我在 Apache 服务器上“压缩”了包含数千张图片的文件夹。这显然改变了文件夹本身内的文件并压缩了这些文件。但这不是目前的问题。

我下载了这个.tar.gz文件,并用 7-zip 解压,得到了.tar一个文件,然后我再次用 7-zip 打开它,当我解压它时,里面的所有图像仍然有.gz扩展名:\

现在有超过 9000 个文件(确切地说,大约 9400 个文件)带有.gz对我无用的扩展名。我无法逐个提取它们。

有没有办法提取每个图像并.gz一次性删除文件?

谢谢

答案1

是的。

最简单的方法(假设不超过 2000 个文件)是使用通配符:gunzip *.gz

如果还有更多文件,或者它们也在子目录中,请尝试以下操作:

find /path/to/files/ -name "*.gz" -exec gunzip {} +

原因是参数列表的空间有限;gunzip *.gz如果一次尝试处理太多文件将会失败。

查找解释:

find /path/to/files/   Finds all files in that path (and in subdirs)  
-name "*.gz"           Filter on name
-exec                  For each name execute a program.
{}                     The name of the program
+                      Feed the program as many arguments as possible in one go
                       (if you use ';', it will run gunzip once for each file).

如果您也有以 结尾的文件夹.gz,您可能需要添加-type f以便find仅查找常规文件。

答案2

所以最终的答案就是全选,然后右键单击 7zip 并在此处选择提取。

然后只需删除.gz文件即可。

Hennes 也给出了很好的答案:)

相关内容