文件意外结束。Gzip压缩文件


16

我对gzip文件发疯了。

我可以使用WinRAR在Windows中解压缩该文件,但是在任何UNIX操作系统上都不可能。

该文件似乎还可以。如果我做

file the_name_of_the_file.gz

我得到:

the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011

但是如果我这样做

gunzip -f the_name_of_the_file.gz

我总是得到:

gzip: the_name_of_the_file.gz: unexpected end of file

当我尝试在Ubuntu或MacOSX中使用GUI工具提取文件时,也会发生相同的问题,

有任何想法吗?


它是否是完全相同的文件(即,您将其保存在闪存驱动器上并已从两个操作系统打开),还是要单独下载?如果是更高版本,您可能会下载不完整的数据,其中不包含所有数据(又名已损坏)。
Freesnöw

1
file命令不会检查所有文件。它只会查看标头中的几个字节,以了解它是一个gz编码文件。

它没有损坏,因为我先在Unix中尝试过,然后在Windows中尝试过。
cues7a 2011年

您制作了gzip文件吗?如果是这样,您使用什么操作系统和应用程序来创建gzip文件?
太阳

Answers:


5

gzip失败并出现“意外的文件结尾”失败时,将使用一种解压缩文件的方法zcat(通常也由发行版的gzip包提供)。

$ zcat file.raw.gz > file.raw


2

您是否有通过ascii模式通过ftp将文件从Win *传输到Unix的机会?那可以解释。在Win *和Unix上,文件大小是否相同?


我尝试过先在Windows中解压缩文件,然后再在Unix中解压缩文件。
cues7a 2011年

1

我怀疑您在将文件复制到* nix机器时正在损坏文件。

以二进制模式通过FTP传输。


我认为该文件未损坏,因为我尝试在UNIX中以及稍后在Windows中将其压缩。
cues7a 2011年

1
你在说什么没有道理。如果您不需要创建文件的副本,请这样说。如果这样做,则可能是您的复制过程(FTP?)不正确。
罗宾·格林

我通过USB Pendrive传输了文件。我先在UNIX中尝试过,但是没有用,然后在Windows中尝试了,然后又成功了。
cues7a 2011年

1

我已经使用实用程序P7zip(POSIX系统的7za.exe端口)解决了该问题。


那么,您是说存档文件使用的压缩方法是旧版Unix工具无法识别的吗?
太阳

0

根据WinRar的一些经验,我的第一个猜测是它正在提取不完整或损坏的文件而没有给出错误,而gzip(正确地)给出了错误。

什么7zip的使你的文件吗?

gzip -V宣布什么版本?

是什么gzip -t the_name_of_the_file.gz告诉你吗?(可能是相同的意外EOF,但值得一试)


gzip -V:gzip 1.3.12,gzip -t the_name_of_the_file->意外的EOF
cues7a 2011年

0

我遇到了同样的问题,就我而言,这是由于该文件是一个空(0字节)gz文件,使用以下touch命令创建的事实:

$touch file.txt.gz
-rw-r--r-- 1 user user    0 2016-05-24 11:48 file.txt

使用以下命令调用时,gzip无法解压缩它:

$gzip -dv file.txt.gz
gzip: file.txt.gz: unexpected end of file

表示一个空txt文件的正确方法是先生成该txt文件,然后对其进行压缩,最后对其进行解压缩:

$touch file.txt

$gzip -v file.txt
file.txt:         0.0% -- replaced with file.txt.gz

$gzip -dv file.txt.gz
file.txt.gz:      0.0% -- replaced with file.txt

我不知道这种情况是否代表您的情况,但这可能会给您一些线索或帮助其他人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.