2011-03-29 01:22:26 +0000 2011-03-29 01:22:26 +0000
77
77

Comment gzip plusieurs fichiers en un seul fichier gz ?

J'ai 100 fichiers : cvd1.txt, cvd2.txtcvd100.txt

Comment faire pour gzip 100 fichiers en un seul fichier .gz, de sorte qu'après avoir gunzip il, je devrais avoir cvd1.txt, cvd2.txtcvd100.txt séparément ?

Réponses (5)

85
85
85
2011-03-29 01:26:09 +0000

Vous voulez tar vos fichiers ensemble et gzip le fichier tar résultant.

tar cvzf cvd.tar.gz cvd*.txt

Pour décompresser le fichier tar de gzip vous feriez :

tar xvzf cvd.tar.gz -C /path/to/parent/dir

Cela extrairait vos fichiers sous le répertoire /path/to/parent/dir

25
25
25
2011-03-29 01:26:52 +0000

Vous voudrez utiliser tar, comme suit :

tar -czvf file.tar.gz cvd*.txt

tar rassemble les fichiers, tandis que gzip effectue ensuite la compression.

Quoth the gzip manpage :

Si vous souhaitez créer un seul fichier d'archive avec plusieurs membres afin que les membres puissent ensuite être extraits indépendamment, utilisez un archiveur tel que tar ou zip. GNU tar supporte l'option -z pour invoquer gzip de manière transparente. gzip est conçu comme un complément à tar, et non comme un remplacement

13
13
13
2011-03-29 01:26:32 +0000

gzip seul ne sait rien de la structure des fichiers. Pour faire ce que vous voulez, vous devez d'abord mettre les fichiers dans une sorte de fichier conteneur (par exemple une structure tar, ou similaire) et ensuite gzip qui. tar a des commutateurs z et j (pour bzip2) sur les plates-formes GNU pour faire cela.

6
6
6
2017-12-02 07:50:44 +0000

Vous pouvez le faire en utilisant :

zip my_final_filename.zip my_first_file my_second_file ... my_last_file

unzip my_final_filename.gz

ou

tar cvzf my_final_filename.tar.gz my_first_file my_second_file ... my_last_file

tar -czvf my_final_filename.tar.gz

Malheureusement, gzip n'est pas capable de le faire. Pour plus d'informations, veuillez consulter les commentaires.

1
1
1
2017-08-23 09:12:24 +0000

Pour compresser plusieurs fichiers avec des motifs différents, nous pourrions faire ceci :

tar -czvf deploy.tar.gz **/Alice*.yml** /Bob*.json

cela ajoutera tous les fichiers .yml qui commencent par Alice depuis n'importe quel sous-répertoire et ajoutera tous les fichiers .json qui commencent par Bob depuis n'importe quel sous-répertoire.