意外的文件结尾。Gzip 压缩文件

意外的文件结尾。Gzip 压缩文件

我对 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 工具提取文件时,也发生了同样的问题,

有任何想法吗?

答案1

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

$ zcat file.raw.gz > file.raw

答案2

您是否曾通过 ftp 以 ascii 模式将文件从 Win* 传输到 Unix?这也许可以解释这一点。文件在 Win* 和 Unix 上的大小是否相同?

答案3

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

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

答案4

我遇到了同样的问题,就我而言,这是由于该文件是一个空gz文件(0 字节),使用以下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

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

相关内容