2006/11/8, David Pintor <[EMAIL PROTECTED]>:
Bonjour,

J'ai une arborescence de repertoires (un site web en fait) que j'ai
transferé d'une machine à une autre. Sur pas mal de pages d'accede a une
base de données MySQL avec la fonction mysql_connect('...'). Puisque les
parametres de connexion de cette fonction ont changé j'essaie de faire des
substitutions avec sed, mais le probleme c'est que je suis obligé de
rediriger ca vers un nouveau fichier.

Par exemple, si je fais la commande suivante:

$ sed 's/toto/titi/g' index.php > index.php

il me vide carrement l'index.php. Si je fais la redirection vers un autre
fichier (index2.php, par exemple) ça se passe bien.

Mon idée c'est de faire un find avec un grep derriere sur toute
l'arborescence et puis faire des substitutions avec sed, le tout dans une
seule commande ou dans un petit script afin de tout remplacer d'un coup.

Si quelqu'un a une piste...

un truc du genre:

find rep -type f | xargs fgrep chaine | while read file;do
   sed -e 's/XXXX/YYYY/g' < $f >$f.$$
   mv $f.$$ $f
done

--
Jean-Max Reymond
CKR Solutions Open Source
Nice France
http://www.ckr-solutions.com

Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à