web-dev-qa-db-fra.com

Fin de fichier inattendue. Fichier compressé gzip

Je deviens fou avec un fichier gzip.

Je peux décompresser le fichier sous Windows avec WinRAR, mais il est impossible sur tout système d'exploitation UNIX.

le fichier semble être ok. Si je fais

file the_name_of_the_file.gz

Je reçois:

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

Mais si je le fais

gunzip -f the_name_of_the_file.gz

Je reçois toujours:

gzip: the_name_of_the_file.gz: unexpected end of file

Le même problème se produit lorsque j'essaie d'extraire le fichier à l'aide de l'outil d'interface graphique sous Ubuntu ou MacOSX,

Des idées?

16
cues7a

Une solution de contournement pour décompresser un fichier lorsque gzip échoue avec "fin inattendue du fichier" consiste à utiliser zcat (également généralement fourni par le paquetage gzip de votre distribution).

$ zcat file.raw.gz > file.raw

5
gangelop

Avez-vous par hasard transféré le fichier de Win * à Unix via FTP en mode ASCII? Cela peut l'expliquer. Le fichier a-t-il la même taille sous Win * et Unix?

2
Heiko Rupp

J'ai résolu le problème en utilisant l'utilitaire P7Zip , un port de 7za.exe pour les systèmes POSIX.

1
cues7a

Je soupçonne que vous corrompez le fichier lorsque vous le copiez sur la machine * nix.

FTP-le en mode binaire.

1
Brian Roach

J'ai eu le même problème et, dans mon cas, c'était dû au fait que le fichier était un fichier vide (0 octet) gz, créé avec la commande touch:

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

gzip n'a pas pu le décompresser, lorsqu'il a été appelé avec la commande:

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

La manière correcte de représenter un fichier txt vide aurait d'abord généré le fichier txt, puis compressé-le et enfin décompressé:

$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

Je ne sais pas si ce scénario représente votre cas, mais il peut vous donner un indice ou aider quelqu'un d'autre.

0

Sur la base de quelques expériences avec WinRar, ma première hypothèse est d’extraire des fichiers incomplets ou corrompus sans donner d’erreur, alors que gzip donne (correctement) une erreur.

Que fait 7Zip de votre fichier?

Quelle version gzip -V annonce-t-il?

Que vous dit gzip -t the_name_of_the_file.gz? (probablement le même EOF inattendu, mais vaut la peine d'essayer)

0
Jason Sherman