Unzip plusieurs fichier

Fermé
gtrgib Messages postés 536 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 14 janvier 2013 - 6 juil. 2004 à 21:50
 eric - 7 juil. 2004 à 08:33
Bonjour à tous,

Je voudrais déziper plusieurs fichiers en même temps et dans le même répertoire.

Mes fichiers(60) zip sont dans un répertoire, je vais dans ce répertoire et je tape "unzip *.zip" et ça ne fonctionne pas, les fichiers restent tous zipé.

J'ai le message d'erreur pour chaque fichier :

caution: filename not matched: et le nom du fichier

Merci
A voir également:

4 réponses

Salut,

ls *zip | xargs -i unzip {}
auquel tu peux même ajouter: && rm *zip

a+

eric
7
gtrgib Messages postés 536 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 14 janvier 2013 9
6 juil. 2004 à 23:41
Salut eric,

Merci beaucoup ça fonctionné parfaitement:o)

Peut tu juste m'expliquer s'il te plaît cette ligne de commande?

ls *zip>>>lister tous les fichiers zip
| xargs -i>>>>je sais pas
unzip {}>>>je sais pas pour les {}
&& rm *zip>>>>je suis pas certain pour les &&, ensuite rm *zip c'est pour effacer(remove) tous les fichiers zip.

Merci
1
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
7 juil. 2004 à 01:18
Bonsoir,

En fait la deuxieme partie de la commande est à prendre en un seul morceau!
xargs -i unzip {}
xargs lit sur l'entrée standard (la sortie du ls)
les accolades (qui necessitent -i) premettent de dire ou placer l'argument lu dans la commande, a cet endroit tu peut t'en passer, avec un commande plus colmplexe ou l'argument n'arrive pas forcement en fin de commande, ça peut-etre utile, trés utile même :)
man find, man xargs.
ça implique aussi de prendre les argument un a un, (le commutateur -n1 et donc inutile)
ls *zip| xargs -i echo {}" est un fichier zip"
ls *zip| xargs echo " est un fichier zip"
ls *zip| xargs -n1 echo " est un fichier zip"
En observant bien les sorties de ces trois commandes, tu comprendras vite ce qu'il en est! ;)
Tu pourras vite en déduire que dans le cas présent, -n1 remplacait sans soucis -i {}


Bon le rm on passe, le && est tres pratique, c'est un test logique.
cmd && echo "la commande a fonctionné"
cmd || echo "la commande n'a pas fonctionné"
Lire ET pour && et OU pour || commande 1 ET commande 2, commande 1 OU commande 2

Dans ce cas là, les fichier zip sont effacés si et seulement si la décompression s'est bien passée :)

Un exemple que j'utilises tout les jours:
Machine1# ssh Machine2 && init 0 && exit
Machine2# ssh Machine3 && init 0 && exit
Machine3# init 0 && exit
Qui a pour effet d'éteindre les trois bestioles en même temps sans que j'y ai accés
Si une des machines ne comprend pas, l'operation s'arrete, et je conserve la main sur la machine en question et sur celles se trouvant avant dans l'ordre :)

@++
 ♫ Il suffirait de presque rien...
0
gtrgib Messages postés 536 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 14 janvier 2013 9
7 juil. 2004 à 04:26
Merci bien asevere pour ces informations, je garde ça.

@+
0
Je n'ai donc plus rien à ajouter...

a+

eric
0