(Courriels de diversion: <timide@supporterons-reassortirai.com> <ponctua@enoncerait-vehiculerent.com> <purifieraient@soupieres-approvisionnerai.com> <embeguiner@rajouter-cachottieres.com> <encastrerent@charites-banjos.com> <ruinant@plaignaient-chancre.com> <appelles@recycleraient-transcrirai.com> <surgeles@rebiffa-validerait.com> <remmenez@concourant-dissimuleriez.com> <imaginerions@degouts-viroles.com> )


Le 19.09.00, jdd a tapoté :

| Samedi, en parlant des sites web, on a remarqué que les gestionnaires de
| site (Dreamweaver...) avaient l'avantage de permettre de modifier une
| adresse sur l'ensemble des pages d'un site.
| 
| J'ai eu tout à l'heure à faire une chose analogue, c'est à dire modifier
| une référence dans un script java sur une vingtaine de pages. J'étais sous
| windows et les pages étaient très courtes, j'ai fait ca "à la main"
| 
| mais qui pourrait me donner un "squelette" de script (sed?) pour faire
| ceci:
| 
| dans un ensemble de fichiers désigné par un masque (regexp), chercher une
| chaine et la remplacer par un autre.
| 
| à vue de nez c'est facile, mais j'ai peur de faire un malheur si je me
| trompe d'une virgule...
| 
| au fait, une interface graphique pour ce genr de chose, ca doit pas être
| très dur ?

	Non effectivement.

-------------8<----------------------------------------------------------
#!/bin/sh
#
# Script permettant de remplacer une chaine par une autre dans un ensemble de
# fichiers passés en paramètres.
#
# $ remplace "chaine orig" "nouvelle chaine" liste-de-fichiers
# e.g. : remplace "ftp.ibp.fr" "ftp.lip6.fr" *.html rep1/*.html ../rep2/*.txt
ORIGSTR=$1
shift
NEWSTR=$1
shift
while [ "$1" != "" ]; do
	sed -e "s/$ORIGSTR/$NEWSTR/g" $1 > $1.tmp
	mv $1.tmp $1
	shift
done
-------------8<----------------------------------------------------------

	Il suffit donc de lui passer en paramètre la chaine à remplacer,
	celle à mettre à la place et la liste de fichiers...


| merci (plusieurs fois!)

	Avec plaisir :)


Thomas
-- 
 Je crois que le meilleur moyen, c'est une signature qui contient
 toutes les signatures et de virer les mauvaises avant envoi.
 -+- Ivan in le Neuneu Pète un Câble : Je signe donc je suis -+-



---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://www.CULTe.org/>