OVH Cloud OVH Cloud

Rechercher et remplacer un fichier récursivement

4 réponses
Avatar
Hervé
Bonjour,

Je cherche un moyen assez simple de rechercher un fichier qui est présent
dans plusieurs répertoires sous le /home (par exemple toto.txt) et de le
remplacer par un autre que j'ai dans un autre répertoire.

J'avais pensé a un " find /home -name 'toto.txt' -exec cp /tmp/toto.txt {}\;
"

Mais ca n'a pas l'air de fonctionner... Une idée ?

Merci
Hervé

4 réponses

Avatar
Emmanuel Fleury
Hervé wrote:
Bonjour,

Je cherche un moyen assez simple de rechercher un fichier qui est présent
dans plusieurs répertoires sous le /home (par exemple toto.txt) et de le
remplacer par un autre que j'ai dans un autre répertoire.

J'avais pensé a un " find /home -name 'toto.txt' -exec cp /tmp/toto.txt {};
"

Mais ca n'a pas l'air de fonctionner... Une idée ?


for file in `find /home -name toto.txt`; do cp /tmp/toto.txt $file; done

Amicalement
--
Emmanuel Fleury

I wrote code that works. I didn't test it, but the discussion is closed.
It might have syntactic problems, but it does work. Better than any
kernel extension ever would. End of story.
-- Linus Torvalds

Avatar
fm
"Hervé" wrote:
Bonjour,

Je cherche un moyen assez simple de rechercher un fichier qui est présent
dans plusieurs répertoires sous le /home (par exemple toto.txt) et de le
remplacer par un autre que j'ai dans un autre répertoire.

J'avais pensé a un " find /home -name 'toto.txt' -exec cp /tmp/toto.txt {};
"

Mais ca n'a pas l'air de fonctionner...


Mais encore ?

Une idée ?


Accesoirement, il manque un espace là :

find /home -name 'toto.txt' -exec cp /tmp/toto.txt {};
find /home -name 'toto.txt' -exec cp /tmp/toto.txt {} ;


-- francois meyer
http://dulle.free.fr/alidade/galerie.php?maxim

Avatar
Nicolas George
Emmanuel Fleury wrote in message <du94pd$o3h$:
for file in `find /home -name toto.txt`


À condition de n'avoir aucun répertoire dont le nom comporte un espace.

Avatar
Hervé
"Emmanuel Fleury" a écrit dans le message de
news:du94pd$o3h$

for file in `find /home -name toto.txt`; do cp /tmp/toto.txt $file; done



Merci,

@+
Hervé