|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Salut les gars,
Voici un petit couac sur lequel je butte, après avoir fouiller les listes de discussions, les cours et tutoriels et tester des combinaisons de xargs et autres awk . Voici le contexte : find /RepertoireRacine/ -type f -mmin -$NbrsDeMinutesAnterieures | xargs tar cvf - {} | gzip > fichierDumpDesFichiersRecents.tar.gz les sorties recrachés par xargs sont des chemins absolus de fichiers du type : /RepertoireRacine/RepertoireSuite2/monfichierRecent.txt /RepertoireRacine/RepertoireSuite2/monfichierRecent2.txt /RepertoireRacine/RepertoireSuite2/monfichierRecent2.txt ce sur quoi je me retrouves donc avec une archive contenant les fichiers récéments modifiés ainsi que leurs répertoires respectifs, donc une arborescence comme : /RepertoireRacine/RepertoireSuite2 (quelque fichiers récents Ici par exemple)/RepertoireSuite3 (encore des fichiers)/RepertoireSuite4 etc... ce qui est bien vu qu'on a pas tout en vrac sous un repertoire because on conserve l'arbo, sauf que je souhaiterais qu'il ne crée ces répertoires qu'à partir du niveau que je lui donne, exemple : /RepertoireSuite3 (quelques fichiers)/RepertoireSuite4(quelques fichiers)/ donc sans /RepertoireRacine/RepertoireSuite2... Voila voiloû, merci d'avance de vos dépannages et sans qu'il n'y ait besoin de modifier le contexte de commande si possible...
|
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Comme je n'ai pas été sur d'être sufisament clair je re-précise ici :
Ma solution se définirai ainsi : -> Pouvoir obtenir dans l'archive de sortie tous les répertoires et sous répértoires inférieurs mais en ayant le pouvoir d'amputé la partie supérieure (en sortie, et non en amont de la commande donnée plus haut) du nombre de répertoires que je souhaites. Dans l'exemple : / (répertoire racine) /rep1 /rep1/sous-rep11 /rep1/soup-rep12 /rep1/soup-rep13 /rep2 Je lance ma commande pour qu'il identifie les fichiers récements modifiés dans /rep1/ pour qu'il cherche donc aussi dans "sous-rep11, sous-rep12 et sous-rep13". Ainsi dans l'archive de sortie crée par tar il va me reconstituer physiquement cette arborescence sur le disque dur avec : /rep1 /rep1/sous-rep11/(fichiers) /rep1/soup-rep12/(fichiers) /rep1/soup-rep13/(fichiers) MAIS je ne souhaites pas qu'il me crée physiquement le répertoire "/rep1" car je ne veux avoir dans mon archive que : /soup-rep11/(fichiers) /soup-rep12/(fichiers) /soup-rep13/(fichiers) Si j'obtiens cela, c'est j'ai donc que j'ai pû "amputé" la création de l'archive d'1 répertoire supérieur et j'ai réussi.... C'est que je veux ça sachant que pour que TAR puisse archiver chaque fichier il lui faut absolument le chemin absolu de chacun de ces fichiers, ce qui tombe bien vu que c'est ce que Find lui donne à manger, des chemins de fichiers absolus comme : /rep1/sous-rep11/MonFichier1 /rep1/sous-rep11/MonFichier2 etc... donc TAR pas con, il va créer dans l'archive : /rep1/sous-rep11/ MonFichier1 et MonFichier2 mais moi j'en veux pas de son "/rep1/" dans l'archive ! Juste ca : /sous-rep11/ MonFichier1 et MonFichier2 Voilà Voiloû, j'espère que mon besoin est mieux explicité :-) ainsi la solution se situe dans l'interaction entre "find" et "tar" que vers "find" seul. Si seulement cette option existait avec "tar" ca serait parfait, sauf que on ne peux pas dire : "Ne crée pas les n premiers dossiers de niveau supérieurs dans l'archive"
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
CA y est résolu, en fait il falait d'abord se rendre dans le répertoire Racine, ce qui donne :
cd /repertoireRacine/ ; find . -type f -mmin $minutes) | tar cvzf fichiers-recents.tar.gz -T - -C /repertoireRacine Le "find ." fesant toute la différence |
|
|
00
|
|
|
#4 |
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Tu peux alors mettre la balise résolu !
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com