Bonjour
Le '\b' n'est à priori pas reconnu par le sed (sauf peut-être des versions specifiques), les '\<' et '\>', les 'equivalants' de 'vi' ou 'ex' ne sont pas non plus connu dans sed.
En ce qui concerne perl, je le connais bien, mais pour faire des remplacements, on peut se permettre s'utiliser uniquement la fonction similaire de sed (s/.../.../...) avec bien plus de possibilités que sed (par example le '\b').
Par ailleurs, en sed je proposerai plutot:
sed -e "s/\([Aa]\)vant/\1pres/" fichier
Le probleme qui se pose avec savant peut-être résolu avec la solution suivante:
sed -e "s/\([ \t][Aa]\)vant\([ \t]\)/\1pres\2/g" -e "s/^\([Aa]\)vant\([ \t]\)/pres\1/" -e "s/\([ \t][Aa]\)vant$/\1pres/" -e "s/^\([Aa]\)vant$/\1pres/" fichier
Il faut donc répéter presque 4 fois la même expression, pour permettre que le mot soit en début de ligne, en fin de ligne, au milieu ou tout seul sur la ligne.
A+
MDW
Poste le Saturday 12 March 2005 22:05:27