#1 Le 08/08/2007, à 15:36
- jimmy64
[Résolu en beauté] Comment décompresser une liste d'archives ?
Bonjour,
J'ai un peu honte de poser cette question mais j'en ai marre de galerer...
j'ai un dossier /tmp/Gkrellm-themes/ qui possedent une centaine d'archives .tar.gz
Je voudrais toutes les décompresser (et leurs dossier avec) dans /root/.Gkrellm2/themes/
Seulement je n'y arrive pas....
J'ai essayé : /root/.gkrellm2/themes$# tar xzfv /tmp/Gkrellm2-themes/*.tar.gz
Ceci, comme tout le reste me retourne des erreurs (ne peut trouver nom_de_l'archive dans l'archive...)
Ca me saoule !!!! J'ai essayé dix milles combinaisons sans trouver
Help !!!!
Dernière modification par jimmy64 (Le 08/08/2007, à 16:38)
Hors ligne
#2 Le 08/08/2007, à 15:39
- foustala
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Peutetre le f de xvzf doit etre à la fin car il designe l'option "utiliser le fichier", donc il attend un nom de fichier et pas un v.
Dernière modification par foustala (Le 08/08/2007, à 15:39)
Hors ligne
#3 Le 08/08/2007, à 15:40
- Hoper
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Déja moi je ferai ca en deux fois.... decompresser les .gz d'abbord, et voir les .tar ensuite.. ca changera peut etre pas grand chose mais bon...
si tu te met dans /tmp/Gkrellm-themes/ et que tu fais un gunzip *
il te met des erreurs ? Si oui, c'est peut etre que le nombre d'argument est trop grand, et qu'il faut passer par la commande xargs.
Edit : Tres bonne remarque le f à la fin !
Dernière modification par Hoper (Le 08/08/2007, à 15:41)
Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org
Hors ligne
#4 Le 08/08/2007, à 15:45
- foustala
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
sinon
#!/bin/sh
COMMAND="tar -xvzf"
for i in *.tar.gz; do
${COMMAND} "$i"
done
Dernière modification par foustala (Le 08/08/2007, à 15:46)
Hors ligne
#5 Le 08/08/2007, à 15:45
- geronimoO
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
rends toi dans ton dossier ou se trouvent tes archives puis tapes:
tar -xzfv * /root/Gkrellm2-themes/
ça devrait fonctionner
" Un bon indien est un indien mort "
Général Sheridan, cavalerie des Etats Unis.
Hors ligne
#6 Le 08/08/2007, à 15:46
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Portable:/root/.gkrellm2/themes$ sudo tar xzf /tmp/GKrellM-skins/*.tar.gz
--> erreur parmi tant d'autres du meme genre : "tar: tmp/GKrellM-skins/XenoSilvereX.tar.gz: ne peut être retrouvé dans l'archive."
j'aimerais décompresser directement le tout, pas le faire en deux fois. Pourquoi ? Par faineantise d'abord et ensuite pour ma propre compréhention et mémoire (une fois que je connais la commande, c'est bon, plus besoin de chercher donc autant que ce soit une super-commande, au lieu de plusieures !!!!)
Merci a vous deux !!!
Hors ligne
#7 Le 08/08/2007, à 15:47
- foustala
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
rends toi dans ton dossier ou se trouvent tes archives puis tapes:
tar -xzfv * /root/Gkrellm2-themes/
le dossier de sortie se precise avec l'option -C
Hors ligne
#8 Le 08/08/2007, à 15:48
- foustala
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Portable:/root/.gkrellm2/themes$ sudo tar xzf /tmp/GKrellM-skins/*.tar.gz
--> erreur parmi tant d'autres du meme genre : "tar: tmp/GKrellM-skins/XenoSilvereX.tar.gz: ne peut être retrouvé dans l'archive."
!
Je viens de faire le test, je n'arrive pas non plus à utiliser les étoiles avec tar, d'où la boucle.
Dernière modification par foustala (Le 08/08/2007, à 15:49)
Hors ligne
#9 Le 08/08/2007, à 15:51
- NooP
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
cd /root/.gkrellm2/themes
find /tmp/GKrellM-skins/ -name "*.gz" -exec tar xvfz {} \;
Dernière modification par NooP (Le 08/08/2007, à 15:52)
Votez Macron, vous l'aurez dans le fion !
Hors ligne
#10 Le 08/08/2007, à 15:53
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Geronimoooooooooooooooooooo tu y etais... Presque !!!
Memes erreurs !!
root@deus:/tmp/GKrellM-skins# tar -xzfv * /root/.gkrellm2/themes/
--> Mettons qu'il ya 100 archives pour ces 100 archives j'ai pour chaque archive :
tar: Win-Whistle.gkrellm.tar.gz: ne peut être retrouvé dans l'archive.
Bien essayé, essayé encore !!!
Foustala : J'aime pas trop les scripts (ne maitrisant pas...) mais je veux bien essayer si ca ne te dérange pas de commenter tes lignes pour savoir ce que je fais exactement
Merkiiii
Hors ligne
#11 Le 08/08/2007, à 15:54
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Noop, peux tu me commenter aussi tes lignes, cela m'interesse beaucoup... je vois ou tu veux en venir, mais je ne comprends pas tout
Merci !!
Hors ligne
#12 Le 08/08/2007, à 16:03
- NooP
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Pour find : man find
Ensuite :
find [Répertoire à rechercher] -name [Fichiers à rechercher] -exec [Commande] {} \;
{} est replacé par le nom du fichier qui à été trouvé par la commande find
\; Indique à la find que c'est la fin de la commande à executer.
Alors, find passe au fichier suivant et ainsi de suite.
Dernière modification par NooP (Le 08/08/2007, à 16:04)
Votez Macron, vous l'aurez dans le fion !
Hors ligne
#13 Le 08/08/2007, à 16:07
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
L'option de Noop fonctionne nickel
Mais je ne comprends pas les fin de lignes.... Ni comment il a agencé la commande find + exec ect... tout est possible avec find + options ?
Hors ligne
#14 Le 08/08/2007, à 16:18
- NooP
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Je vais tenter d'être plus clair :
Il faut séparer la commande find :
find [Répertoire à rechercher] -name [Fichiers à rechercher] -exec [Commande] {} \;
Comme cela :
find /tmp/GKrellM-skins/ -name "*.gz" -exec tar xvfz {} \;
find /tmp/GKrellM-skins/
Dit à find que l'on va effectuer la recherche dans /tmp/GKrellM-skins/
-name "*.gz"
Dit que l'on veut rechercher tous les fichiers qui se terminent par .gz
-exec tar xvfz {} \;
Dit d'executer, pour chaque fichier trouvé, la commande tar xvfz en remplacant {} par le nom du fichier qui à été trouvé.
le \; ne sert qu'a indiquer la fin de la commande tar : -exec ......... \;
Pour comprendre ce que fait 'find', execute le sans le -exec :
find /tmp/GKrellM-skins/ -name "*.gz"
puis sans le -name :
find /tmp/GKrellM-skins/
Dernière modification par NooP (Le 08/08/2007, à 16:23)
Votez Macron, vous l'aurez dans le fion !
Hors ligne
#15 Le 08/08/2007, à 16:31
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
Loool en fait c'etait bon, j'avais pigé mais j'ai posté une demi-seconde aprés toi !!!!
Désolé pour ces longues explications mais trés instructives
Merci encore Noop !!!!!!!
Hors ligne
#16 Le 08/08/2007, à 16:35
- jimmy64
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
En fait le find est un ls amelioré à qui on peut passer des parametres et executer une commande
Cette commande est à garder sous le coude mais je pense que l'on ne l'utilise que rarement nan ?
En tout cas merci encore !!!!
Hors ligne
#17 Le 08/08/2007, à 20:56
- geronimoO
Re : [Résolu en beauté] Comment décompresser une liste d'archives ?
c'est toujours bon à savoir
" Un bon indien est un indien mort "
Général Sheridan, cavalerie des Etats Unis.
Hors ligne