Remys Morrissette a écrit, vendredi 13 mars 2009, à 02:12 : > Bonjour,
bonjour, > je veux modifier une chaîne de texte dans plusieurs fichier. > le 'défi' ; des caractères spéciaux de html tel que ./ > = . < " > > j'utilise la commande suivante qui fonctionne très bien sur un mot unique > > for file in *; do sed -i 's/old/new/g' $file; done Tu peux supprimer la boucle : sed -i -e 's/old/new/g' * (ou -i.old). > le texte à remplacer : > > <a href="index_pp.html"><img src="back.png" alt="Back" /></a> > > par > > <a href="./index_pp.html"><img src="back.png" alt="Back" /></a> > > à la limite 'index_pp.html' par './index_pp.html' mais c'est agréable > dans avoir plus dans le 'défi. ;-) > > En gros quel est le 'joker' `utiliser pour encadrer ma chaîne de texte. Le délimiteur de la substitution est libre, donc sed -e 's,","./",' ferait l'affaire en insérant « ./ » après la première double-quote (si ton exemple est une ligne complète) ; sinon, essaie d'être plus précis : sed -e 's,href="index_pp,href="./index_pp,g' et/ou utilise une adresse de ligne pour limiter les confusions : sed -i.old -e \ '/href="index_pp\.html">/ s,href="index_pp,href="./index_pp,g' > Merci de rien, -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter 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]

