Question Comment créez-vous un fichier et conservez-vous le fichier .gz?


Le comportement par défaut de gunzip consiste à supprimer le fichier .gz après sa décompression.

Comment puis-je l'empêcher de supprimer le fichier?

Si cette fonctionnalité n'est pas incluse, existe-t-il un autre programme qui le permet?

J'utilise Ubuntu 9.04


208
2017-09-23 14:45


origine


Utilisez la commande suivante: gunzip -k - fazineroso
Qu'est-ce que gunzip a l'option -k? Je ne vois personne. - Znik
@Znik, gzip / gunzip version 1.6 et supérieure a l'option -k. - alexander barakin


Réponses:


Vous cherchez:

gzcat x.txt.gz >x.txt

le gzcat la commande est équivalente à gunzip -c qui écrit simplement le flux de sortie à stdout. Cela laissera le fichier compressé intact. Donc, vous pouvez également utiliser:

gunzip -c x.txt.gz >x.txt

Notez que sur certains systèmes, gzcat est également appelé zcat alors courez comme ça à la place:

zcat x.txt.gz >x.txt

208
2017-09-23 14:48



Merci d'avoir répondu. Ayant grandi avec pkunzip sous DOS, je trouve cela tellement étrange qu'il n'y a pas d'option pour conserver le fichier. Surtout avec un outil comme gzip étant si largement utilisé ... juste bizarre. - Sen
FYI, je n'ai en fait pas de gzcat. Ni mon système local ni le système dans lequel j'ai été initié. Donc, je dois utiliser gunzip -c - Sen
c'est probablement juste zcat sur votre système. - user23307
Une option supplémentaire pour conserver le fichier serait bien agréable. Par exemple, b (un) zip2 utilise une syntaxe similaire et permet d'ajouter simplement -k conserver le fichier d'origine. - schnaader
Vous pouvez également ajouter l'alias de ligne gzcat = "gunzip -c" à votre .bashrc - James Kingsbery


Vous pouvez utiliser le -c option de gunzip qui écrit la sortie dans stdout, puis la dirige vers le fichier de votre choix:

gunzip -c compressed-file.gz > decompressed-file

Plus de détails sur le page de manuel.


52
2017-09-23 14:50



À propos, notez que la page de manuel mentionnée ci-dessus répertorie une option -k, ce qui signifie conserver les fichiers d'entrée. Peut-être que cela fonctionne sur la version BSD, mais ce n'est pas le cas sur la mienne, donc la solution -c semble être la bonne.


Une solution plus simple consiste à utiliser gunzip comme un filtre comme celui-ci:

gunzip < myfile.gz > myfile

30
2017-09-23 17:30



Je pense que c'est la façon la plus propre depuis gunzip ne sait jamais quel fichier il reçoit, tout ce qu'il voit est un flux de données, donc ne peut pas éventuellement modifier le fichier d'origine. - Walf


Si c'est réellement une archive (extension .tgz ou .tar.gz), alors au lieu de rediriger vers un fichier comme toutes les réponses, vous voudrez le diriger vers tar, comme ceci:

gunzip -c myfile.tar.gz | tar xvf -

afin que vous obteniez le contenu réel.


12
2017-09-23 15:22



ou faites simplement: tar xzvf myfile.tar.gz - Joakim Elofsson
true, mais seulement si vous avez GNU tar. Celui fourni avec Solaris, par exemple, ne prend pas en charge l’option z. - Alex


Utilisez le -c option pour décompresser le fichier en stdout. Il ne touchera pas le fichier d'origine.

gunzip -c myfile.gz > myfile

5
2017-09-23 14:52





gzip -dk myfile.gz

OU

gunzip -k myfile.gz

Commentaires:

   -k --keep    Keep (don't delete) input files during compression or decompression.

3
2017-11-05 12:55





Gnu tar peut lire les fichiers gzip: tar -zxsvf myfile.tar.gz ou tar -jxzvf myfile.tar.bz2 pour les fichiers tar compressés.


2
2018-01-31 16:14