[fichier]Remplacer une chaine par une autre

fredo -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour
Dans le cadre de la refonte d'un intranet je dois modifier des centaines de LIENS (<a href..) et leur rajouter l'option:
" style="text-decoration: none


Exemple:
avant:
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>


après:
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;"> Mon lien  sans</a>


jJ recherche une application ou script qui ,en se se basant je pense , sur les expressions régulières me permet pour un dossier donné de remplacer toutes les occurrences trouvées par ce que je donne en paramètre.

Si àdé faut de solution toute faite vous avez des idées de programmation même en script LINUX merci de m'en faire part. J'arrive faire des scripts en tcsh avec AWK et les expressions régulières mais le probleme est que je ne faisai que créer un nouveau fichier jamais modifié le fichier existant.

Cordialement.
Fred.
A voir également:

1 réponse

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Tu peux faire ça avec "sed" sous GNU/Linux.
Une exemple vite fait, à adapter selon tes besoins (pas le tempd d'approfondir là):
[jp@MDK tmpfs]$ cat fichier.txt
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm">Mon lien avec</a>

[jp@MDK tmpfs]$ sed -i.orig 's/\(^<a.*htm\"\)\(>\)/\1 style=\"text-decoration: none;\"\2/' fichier.txt

[jp@MDK tmpfs]$ cat fichier.txt
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;">Mon lien avec</a>
<a target="Sous-menu" href="me_tex.htm" style="text-decoration: none;">Mon lien avec</a>

[jp@MDK tmpfs]$
0