解压这些 .gz 文件会产生奇怪/意外的结果,您能让它正常工作吗?

解压这些 .gz 文件会产生奇怪/意外的结果,您能让它正常工作吗?

我有一组邮件列表存档文件,它们都经过了 gzip 压缩,位于一个嵌套的目录结构中,该目录结构以以下内容开头:空白文件夹/行话姓名。

文件在这里: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/

每个文件的头部看起来是这样的:

‹vÑKÿ/var/lib/mailman/archives/private/rabbitmq-discuss/

我试过使用7Zip压缩包压缩Windows 7的,通过命令行。

压缩操作系统,结果相同,我是否遗漏了一些明显的东西?我无法重建目录结构,结果似乎是目录结构和文件的合并。

如果你让它工作了,你能告诉我什么吗:

  • 您使用的操作系统
  • 压缩/解压工具
  • 命令行参数或自动化方法

我希望一次性完成此操作,或者自动完成,而不必通过 GUI 应用程序输入每个文件。

答案1

该文件经过两次 gzip 压缩。在 Mac OS X 或 Linux 上尝试以下命令:

wget http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-May.txt.gz
gzip -d 2011-May.txt.gz

您最终应该会得到2011-May.txt纯文本文件。在我的系统上,wget正确保存的是单独 gzip 压缩的文件,该文件解压后会变成纯文本。

如果您已经有双重 gzip 压缩的文件,则可以运行此命令:

gzip -cd 2011-May.txt.gz | gzip -cd > 2011-May.txt

这将对文件进行两次解压并写入。或者,在 Windows 7 上,您应该能够使用 7zip 解压 gzip 文件,然后再次使用 7zip 打开并再次解压。您应该会得到未压缩的文件。

如果一个目录中有大量这样的文件,您可以执行以下操作:

for file in *.gz; do mv $file $file.gz; done;
gunzip *.gz
gunzip *.gz

这会将所有以 结尾的文件重命名为*.gz*.gz.gz然后gunzip对它们运行两次。

相关内容