2017-06-30 1 views
3

Existe-t-il un moyen de décompresser tous les fichiers gz dans le dossier contenant les fichiers zip. Lorsque les fichiers zip sont dans des sous-répertoires. Une requête pourDécompressez tous les fichiers gz dans tous les sous-répertoires du terminal

find -type f -name "*.gz" 

donne des résultats comme celui-ci:

./datasets/auto/auto.csv.gz 
./datasets/prnn_synth/prnn_synth.csv.gz 
./datasets/sleep/sleep.csv.gz 
./datasets/mfeat-zernike/mfeat-zernike.csv.gz 
./datasets/sonar/sonar.csv.gz 
./datasets/wine-quality-white/wine-quality-white.csv.gz 
./datasets/ring/ring.csv.gz 
./datasets/diabetes/diabetes.csv.g 

Répondre

2

Si vous voulez, pour chacun de ceux-ci, pour lancer "gzip -d" sur eux:

gzip -d $(find ./ -type f -name '*.gz') 

et puis, pour les remettre en place:

gzip $(find ./ -type f -name '*.csv') 
1

Il existe une option pour la récursivité (-r).

gzip -dr ./datasets 

Toutes les archives seront décompressées dans leur propre répertoire.

Exemple: gzip -Dr ./a

a/b/c/test1.gz 
a/b/d/test2.gz 
a/e/test3.gz 

Après exécution:

a/b/c/test1 
a/b/d/test2 
a/e/test3