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

Nic*_*ski 5 windows compression gzip mailing-lists macos

我有一个邮件列表存档文件的集合,全部是 gzip 压缩的,它们位于一个嵌套的目录结构中,该结构以一个空白文件夹/行话名称开头。

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

每个文件的标题看起来像这样:

‹vÑKÿ/var/lib/mailman/archives/private/rabbitmq-discuss/
Run Code Online (Sandbox Code Playgroud)

我已经尝试通过命令行在Windows 7上使用7ZipWinRARgzip

OS X上也使用gzip,结果相同,我是否遗漏了一些明显的东西?我一直无法重建目录结构,结果似乎是目录结构和文件的合并。

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

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

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

Ste*_*ngs 6

该文件被 gzip 两次。在 Mac OS X 或 Linux 上尝试这些命令:

wget http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-May.txt.gz
gzip -d 2011-May.txt.gz
Run Code Online (Sandbox Code Playgroud)

您应该最终2011-May.txt得到纯文本文件。在我的系统上,wget正确保存了一个解压缩为纯文本的单 gzip 文件。

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

gzip -cd 2011-May.txt.gz | gzip -cd > 2011-May.txt
Run Code Online (Sandbox Code Playgroud)

这将解压缩文件两次并写入。或者,在 Windows 7 上,您应该可以使用 7zip 解压缩 gzip 文件,然后使用 7zip 再次打开并再次解压缩。您应该留下未压缩的文件。

如果你在一个目录中有大量这样的文件,你可以这样做:

for file in *.gz; do mv $file $file.gz; done;
gunzip *.gz
gunzip *.gz
Run Code Online (Sandbox Code Playgroud)

这将重命名的所有文件,在结束*.gz*.gz.gz,然后运行gunzip它们的两倍。