J'aimerais savoir quelle est la commande à utiliser pour gunzip tous les fichiers d'un répertoire cible de manière récursive? J'ai essayé d'utiliser la commande unzip mais cela n'a pas fonctionné.
J'ai essayé la commande de Décompresser tous les fichiers Zip dans un dossier cible?
En utilisant les commandes ci-dessous. Remplacez <path_of_your_zips>
par le chemin d'accès à vos fichiers Zip et <out>
par votre dossier de destination:
Pour les fichiers GZ
find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
ou
find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
Pour les fichiers Zip
find <path_of_your_zips> -type f -name "*.Zip" -exec unzip {} -d <out> \;
ou
find <path_of_your_zips> -type f -name "*.Zip" -print0 | xargs -0 -I{} unzip {} -d <out>
gunzip
a -r
option. De man gunzip
:
-r --recursive
Travel the directory structure recursively. If any of the
file names specified on the command line are directories, gzip
will descend into the directory and compress all the files it finds
there (or decompress them in the case of gunzip ).
Ainsi, si vous souhaitez gunzip
name__, tous les fichiers compressés (gunzip
peuvent actuellement décompresser les fichiers créés par gzip, Zip, compresser, compresser -H ou pack) dans le répertoire /foo/bar
et tous ses sous-répertoires:
gunzip -r /foo/bar
Cela gérera aussi les noms de fichiers avec des espaces.