2008-11-17 15 views
18

J'ai besoin de décompresser un fichier compressé à la volée dans mon programme. Cela fonctionne quand je l'essaie sur mon propre ordinateur Linux, mais pour une raison quelconque, les ordinateurs de l'école échouent chaque fois que je leur dis de le faire. Pour dézipper J'utilise la commande suivante:zcat ne décompresse pas les fichiers correctement

zcat /file/address/file.tar.gz 

et obtenir l'erreur:

/file/address/file.tar.gz.Z: No such file or directory 

J'ai essayé de regarder à travers la documentation, mais n'a pas pu trouver un drapeau pour désactiver ce comportement bizarre.

Toute aide sera grandement appréciée.

Merci

+0

Je ne voudrais pas essayer de décompresser le fichier passwd si j'étais vous :-) –

Répondre

36

Votre système de l'école a toujours les anciens services publics de style « compress » plutôt que les plus récents ceux basés sur « gzip » GNU. Vous devez utiliser gzcat plutôt que zcat, en supposant que ce soit disponible.

+0

Cela a fait l'affaire, merci. En outre, je viens d'apprendre que j'exécutais la commande sur les ordinateurs Sun de l'école. C'est le pc de Linux que mon programme doit exécuter et ils supportent très bien zcat. –

0

gzip --decompress /file/address/file.tar.gz

4

En général, je viens d'utiliser gzip directement quand je veux gzip:

gzip -dc /file/address/file.tar.gz 
+1

... ou 'gunzip -c/fichier/adresse/fichier.tar.gz'. Cette approche est portable entre OS-X et Linux. –

0
zcat archive.tgz | tar -x --wildcards apri/fls/filename 
0

Si vous annonce la .Z à la fin du nom de fichier comme ceci:

zcat /file/address/file.tar.gz.Z

puis il trouvera le fichier.