Script unix

Résolu/Fermé
flagada - 25 juin 2011 à 01:01
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 25 juin 2011 à 12:46
Bonjour,

voila mon probleme,

j'ai sur un serveur tru64, avec des fichiers xml dans disons un rep nommé /toto
Parmi ces fichiers xml, j'en ai plusieurs qui se nomment titi.xml dans differents sous rep
Ex: /toto/rep1/titi.xml
/toto/rep2/titi.xml
/toto/rep3/rep4/titi.xml
d'autres xml ayant un nom differents se trouvent dans ces rep...

Je cherche une solution pour copier seulement tous les titi.xml dans un autre rep (par ex : /sauv_toto), mais en gardant l'arborescence...

Cela me donnerai donc:
/sauv_toto/rep1/titi.xml
/sauv_toto/rep2/titi.xml
/sauv_toto/rep3/rep4/titi.xml

Cela doit etre fait sous la forme d'un script executables sous unix tru64...
Avez vous une idée de la demarche a suivre??
J'ai déjà essayé pas mal de choses mais sans succès...

Merci d'avance

A voir également:

6 réponses

Géca Messages postés 799 Date d'inscription samedi 29 novembre 2003 Statut Contributeur Dernière intervention 29 juin 2015 106
Modifié par Géca le 25/06/2011 à 11:44
Bonjour,

Il ne faut pas en vouloir à mes collègues, contrairement à moi ils donnent beaucoup de leur temps et souvent pour dépanner des utilisateurs qui ne regardent pas plus loin que le bout de leur nez.

On peut s'en sortir avec un tar (c'est ce que fait la commande pax mais en moins compliqué).

let's go :
$ cd / 
$ find /toto -name "*.xml" | xargs tar cvf save-xml.tar 
$ cd /sauv_toto 
$ tar xf /save-xml.tar 


Et en une ligne :
$ cd / && find /toto -name "*.xml" | xargs tar cvf save-xml.tar && cd /sauv_toto && tar xf /save-xml.tar


Je pense que ça doit répondre à la question.
--
1
bonjour Géca,

merci de ta réponde, j'ai un ubuntu a la maison je vais déjà l'essayer dessus cet après midi...
En tout cas je te remercie déjà...
Je n'en veux pas a tes collègues cela m'a juste un peu énervé mais ce n'est pas important de toute façon (je venais de me réveiller ahah...)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
25 juin 2011 à 12:14
Re-

Je viens de tester chez moi avec "cpio" et c'est nickel :
cpio -p -d rep_destination < <(find /chemin_rep_source -type f -name "*motif")
Ça recrée dans "rep_destination" pour chaque fichier correspondant au motif l'arborescence native du fichier correspondant.

Peut être faudra-t-il dans ton cas remplacer -name "*motif" par -regex "motif_regex" pour une meilleure capture...

;-))
1
Géca Messages postés 799 Date d'inscription samedi 29 novembre 2003 Statut Contributeur Dernière intervention 29 juin 2015 106
25 juin 2011 à 01:14
Bonsoir,

Tout d'abord :
>J'ai déjà essayé pas mal de choses mais sans succès...
C'est bien mais lister ces "choses" afin d'avoir une idée plus précise des tests effectués c'est mieux.

Est-ce que la commande pax est disponible sur votre environnement ?
0
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
Modifié par jivef le 25/06/2011 à 04:08
Bonjour,
Géca a parfaitement raison.
Le fait de lister les tests déjà effectués permet de ne pas répondre à certains étudiants fainéants qui veulent qu'on fasse leurs devoirs à leur place.
Et comme tu es sensé le savoir, faire leurs devoirs à leur place reviendrait à faire une réponse hors-charte.

https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/

Tu n'es peut-être pas dans ce cas là, mais si tu veux qu'on t'aide, montre que tu as déjà un peu cherché.
A bientôt.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
25 juin 2011 à 09:56
Salut,

Idem que mes collègues ci-dessus concernant le fait de nous montrer ce que tu as déjà entrepris.

Sinon à défaut d'avoir la commande "pax", "cpio" devrait aussi faire l'affaire, si installé bien entendu ;-)
0
oulah je sens du mécontentement dans vos reponses.


En fait je ne suis pas etudiant mais travaille.

Le fait que vous disiez "Le fait de lister les tests déjà effectués permet de ne pas répondre à certains étudiants fainéants qui veulent qu'on fasse leurs devoirs à leur place." est inaproprié puisque ce n'est pas le cas, on m'a toujours dis d'accorder le bénéfice du doute et de réfléchir avant de mordre...
Enfin ce n'est pas grave...
Peut etre pensez vous ça car j'ai utilisé des noms de fichiers et rep sommaires (titi.xml; rep1,...).
C'est pour une meilleure compréhension....

Bref j'ai déjà essayé la commande cp mais rien de concluant:pas assez de possibilité; j'ai essayé de faire un find de titi.xml puis de les copier mais je n'ai pas réussi à concrétiser; et enfin je me suis dis je vais copier tout le rep puis tout supprimer sauf tous les titi.xml mais encore une fois je n'ai pas trouver avec rm...

J'ai de dispo la commande cpio c'est sur mais pax je sais pas...je pourrai voir ça que lundi...

Voila
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re...

Alors j'ai testé les 2 solutions et j'ai l'honneur de vous dire que les 2 fonctionnent parfaitement...

Encore merci vous me faîtes gagner un temps fou...
je vais quand meme explorer ces commandes a fond pour connaire leur fonctionnement...

A+ "zipe31" et "Géca"...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
Modifié par lami20j le 25/06/2011 à 12:35
Salut,

on m'a toujours dis d'accorder le bénéfice du doute et de réfléchir avant de mordre...

<Mode modération>

Je pense que tu vois les choses dans un mauvais sens.
Si on te demande de nous montrer ce que tu as fais, ce n'est pas une histoire de bénéfice du doute. Ca c'est plutôt inapproprié comme conclusion.

Nous ne faisons pas procès ici, ce n'est pas le but.

Pour pouvoir aider c'est une logique très élémentaire que mon père m'a appris des mon enfance quand je lui disait de m'aider pour mes devoirs de maths.
La 1ère chose qui me demandait : "Fait voir ce que tu as fais."
Bon, si j'aurais commencé avec le bénéfice de doute, j'aurais obtenu autre chose de sa part ;-))))

Le fait de montrer ce que tu as fais (pareil pour tout le monde) a plusieurs rôles :
- on voit ton raisonnement
- on voit tes éventuelles erreurs
- en fonctionne de la manière de présenter les choses tu pourrais mieux être guider
- tu donnes envie aux interlocuteurs de répondre (moi j'ai vu ton message et je n'ai pas eu envie de répondre par exemple)

....
- et quelque part en dernier (c'est la preuve que le bénéfice de doute est toutefois accordé), oui pourquoi pas, montrer ce que tu as fais ne me laisse pas penser que tu veuilles qu'on fasse à ta place.

Et puis on est ici pour partager questions/réponses, n'est-ce pas?
A ta place au lieu d'écrire le pavé que tu as écrit, j'aurais plutôt montré ce que j'ai fait.

Je vois que tu as déjà eu des réponses, tant mieux pour toi ;-)
Profite et montre aussi ce que tu fais, tes tests, etc.
Et à la fin quand tu auras résolu ton problème, n'oublie pas deux choses :
- mettre le thread en résolu
- remercier pour le temps que les utilisateurs on passé pour te répondre.

</Mode modération>


lami20j
0
bonjour,

je comprends lami20j que les personnes n'aient pas envie de répondre...
En revanche mon raisonnement ne se penchait pas sur le bénéfice du doute de voir si j'avais déjà essayé quelque chose (je suis totalement d'accord avec tout le monde disant que j'aurai du directement montré mon travail, ce que j'ai d'ailleurs fait ensuite, mais mon raisonnement reposait sur le bénéfice du doute de penser que c'est un execice car j'étais étudiant.

Enfin je t'accorde que le message était inutile et afficher seulement mon travail aurait été plus adapté... Je te pris de m'excuser...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
25 juin 2011 à 12:46
Re,

Pas de soucis pour moi.
C'est bien quand tout se finit bien ;-)
Le plus important c'est que tu as trouvé des solutions a ton problème ;-)

Bonne continuation ;-)
0