Bonjour,

Je cherche une commande pour archiver tous les sous dossiers d'un répertoire "A" de manière séparée.
J'ai essayé de mixer avec "tar cvzf" et "find /A -type d" mais ça marche pas...

Merci d'avance !
je pense que tu devrais passer par une boucle for - do - done
je vois bien une boucle du genre

for i in `find ./A -type d * ` ; do tar cvfz /tmp/$i.gz $i ; done
Peut être ajouter l'option -maxdepth 1 au find, sinon il va lister tous les sous repertoires.
madko wrote:Peut être ajouter l'option -maxdepth 1 au find, sinon il va lister tous les sous repertoires.
Dans ce cas, autant se passer de find et éviter dans le même temps d'éventuels problèmes de noms de dossiers comportant des espaces :
for i in <dossier de référence>/*/; do
   tar -czf "$i.tar.gz" "$i"
done
(noter le « / » après le joker « * » pour ne parcourir que les dossiers contenus dans <dossier de référence>).
Pikachu_2014 wrote:
madko wrote:Peut être ajouter l'option -maxdepth 1 au find, sinon il va lister tous les sous repertoires.
Dans ce cas, autant se passer de find et éviter dans le même temps d'éventuels problèmes de noms de dossiers comportant des espaces :
for i in <dossier de référence>/*/; do
   tar -czf "$i.tar.gz" "$i"
done
(noter le « / » après le joker « * » pour ne parcourir que les dossiers contenus dans <dossier de référence>).
MERCI ! ça marche au poil 😉