Aux Saveurs Gourmandes a écrit, samedi 22 janvier 2005, à 18:02 :
> Bonjours,

bonjour.

> Je cherche le moyen pour remplacer un bloc de texte dans plusieurs 
> fichiers (le contenus d'un repertoire et de ses sous-rep en fait)
> en gros : si le bloc de texte texte1.txt est trouvé dans le fichier le 
> remplacer par le bloc de texte texte2.txt . 

Ce sont les blocs avant/après eux-mêmes, pas deux fichiers contenant ces
blocs (multilignes ?) ?

> En fait j'ai un tag surtout les fichiers d'un script en php et comme la 
> version a changé et l'url aussi je doit le modifier mais je compte pas 
> me taper la centaine de fichiers a la main.

Bon, c'est  un peu trop  pour le faire  en interactif avec  Emacs (ouvrir
dans le répertoire principal, et appuyer sur Q ...).

> Comment puis je faire ?

Cf.  dans les archives de la liste fin novembre 2003, le fil de
discussion "remplacement occurence dans plusieurs fichiers".

find cible/ -type f -name \*.php | xargs sed -i 's,texte1,texte2,g'

(Sed version 4, -i.old pour avoir une sauvegarde, et pas de virgule dans
le texte).
-- 
Jacques L'helgoualc'h


-- 
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à