OVH Cloud OVH Cloud

[limite HS]modifier un bloc de texte dans plusieurs fichiers

1 réponse
Avatar
Aux Saveurs Gourmandes
Bonjours,
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 .
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.
Comment puis je faire ?
Guy


--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

1 réponse

Avatar
Jacques L'helgoualc'h
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
with a subject of "unsubscribe". Trouble? Contact