Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2845 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

unzip recursif

n°1369372
x-ben
Posté le 25-11-2014 à 21:56:53  profilanswer
 

Salut,
 
j'ai un dossier rempli d'un tas de sous dossier dans les quels se trouvent un tas de fichiers zippés.
 
j'ai tenté de lancer:
find . -name "*.zip" -exec unzip -o {} \;
 
ça va bien chercher les zip partout mais ça dézippe tout à l'endroit où je lance la commande
 
vous voyez une soluce pour que ça dézippe chaque fichier dans le dossier dans lequel il se trouve?


---------------
LaBrute
mood
Publicité
Posté le 25-11-2014 à 21:56:53  profilanswer
 

n°1369376
kisscoolz
Posté le 25-11-2014 à 22:53:54  profilanswer
 

J'etais persuadé de pouvoir le faire directement avec find mais il doit me manquer qqch (j'ai deja eu a faire qqch d'assez proche)
 
En solution de repli, un petit script shell que tu lance dans le find. Ca devrait faire l'affaire.
 

#!/bin/sh
 
dir=`dirname "$1"`
unzip "$1" -d "$dir"


 

find . -name "*.zip" -exec le_script {} \;


---------------
http://lacabanedeladmin.trickip.net/
n°1369501
blazkowicz
Posté le 26-11-2014 à 16:42:00  profilanswer
 

l'utilitaire "dtrx" peut aussi t'être utile, il peut extraire des zip à l'intérieur des zip (j'ai pensé à ça avec le titre "unzip récursif" :D) et également gère le cas chiant et courant où l'on veut extraire un zip dans un sous-répertoire au lieu de polluer le répertoire courant avec tout le contenu du zip. (ou tar.gz, rar et autres : il fait tout)
 
Il ne fait pas ce que tu fais avec un find :  
 


$ dtrx .
dtrx: ERROR: .: cannot work with a directory


 

n°1369521
x-ben
Posté le 26-11-2014 à 19:29:49  profilanswer
 

je m'en suis sorti avec un truc équivalent à celui de Kisscoolz
merci  ;)  
 

Code :
  1. while read file
  2. do
  3.   folder="${file%.*}"
  4.   unzip -o -d "${folder}" "${file}"
  5. done < <(find . -name "*.zip" )


---------------
LaBrute

Aller à :
Ajouter une réponse
 

Sujets relatifs
Linux - listing récursif par daterechercher/remplacer en récursif
faire un grep récursifclient shell ftp permettant un upload récursif
[unzip] exclure les fichiers commençant par "."[bash] renommer des repertoires en recursif
Alias récursif sur Linuxchangemen récursif du propriétaire
[ Scripts ] Renomage massif et recursif avec masqueschmod récursif : valeurs différentes dossiers/fichiers
Plus de sujets relatifs à : unzip recursif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR