16

Я схожу с ума с файлом GZIP.

Я могу распаковать файл в Windows, используя WinRAR, но это невозможно в любой операционной системе 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

Та же проблема возникает, когда я пытаюсь извлечь файл с помощью инструмента GUI в Ubuntu или MacOSX,

Есть идеи?

6 ответов6

5

Обходной путь для распаковки файла при сбое gzip с "неожиданным концом файла" заключается в использовании zcat (также обычно предоставляемом пакетом gzip вашего дистрибутива).

$ zcat file.raw.gz > file.raw

2

Вы случайно не переносили файл из Win * в Unix через ftp в режиме ascii? Это может объяснить это. Один и тот же размер файла на Win * и Unix?

1

Я решил проблему, используя утилиту P7zip, порт 7za.exe для систем POSIX.

1

Я подозреваю, что вы повреждаете файл, когда копируете его на компьютер * nix.

FTP это в двоичном режиме.

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

Я не знаю, представляет ли этот сценарий ваш случай, но он может дать вам некоторую подсказку или помочь кому-то еще.

0

Основываясь на опыте работы с WinRar, я считаю , что он извлекает неполные или поврежденные файлы без ошибок, а gzip (правильно) выдает ошибку.

Что 7zip делает из вашего файла?

Какую версию объявляет gzip -V ?

Что gzip -t the_name_of_the_file.gz говорит вам? (вероятно, тот же неожиданный EOF, но стоит попробовать)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .