Retourner aux forums || Retourner au forum Programmation.shell
Programmation.shell : tar récursif avec filtrage de fichiers
Posté par Ju Hash (page perso, ) le 20 octobre 2006Je cherche à créer une archive contenant tous les *.txt d'un ensemble de répertoires. Logiquement, la commande :
tar cfvz mon.tar.gz repertoire/*.txt
ne créée une archive avec les .txt qui sont uniquement placés à la racine de repertoire/, et pas les répertoires d'après...
J'ai essayé l'option -T de tar, mais visiblement, je ne 'ai pas su l'utiliser...
Un pipe de ls -R *.txt vers tar va t il conserver l'arborescence?
Est ce quelqu'un pourrait m'aider ? Merci d'avance.
> Lire le message (6 commentaires, moyenne: 1,2).
find
Essaye ça:
find repertoire/ -name '*.txt' | tar -czvf mon.tar.gz
Un ls -R *.txt ne marchera pas, car le motif '*.txt' est remplacé avant que la commande ls soit exécutée.
ls ls -R *.txt va donc lister récursivement le contenu des répertoires dont le nom correspond au motif '*.txt' dans ton répertoire courant.
L'option -T de tar permet d'aller chercher la liste des fichiers à archiver dans un fichier plutôt que sur la ligne de commande.
C'est pourtant facile
tar cvzf mon.tar.gz repertoire/**/*.txt
-
[^]Re: C'est pourtant facile
Posté par Ju Hash (page perso, ) le 20/10/2006 à 09:16. (lien). Évalué à 0.hé beh non, c'est pas si facile que ça, car cette commande n'est pas recursive, et va chercher les *.m dans les premiers repertoire contenus dans "repertoire"... Mais merci quand même.
-
[^]Re: C'est pourtant facile
Posté par Donk (Jabber id, ) le 20/10/2006 à 10:14. (lien). Évalué à 1.Et en utilisant l'option --recursion de tar?
--
JabberID: donk@jabber.fr-
[^]Re: C'est pourtant facile
Posté par Ju Hash (page perso, ) le 20/10/2006 à 10:53. (lien). Évalué à 1.idem. Ma solution est la suivante :
find $DIRECTORY -name "*.$EXTENSION" | xargs tar cfvz $FILENAME
-
-
[^]Re: C'est pourtant facile
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.