Script sed pour les accents html

FjRond

Membre actif
16 Février 2004
800
14
66
Vendée
blogdefrancoisgiron.wordpress.com
Bonjour
Je rencontre un petit soucis avec un script sed dont la seule tâche est de substituer les codes html aux lettres accentuées latin1 ou latin9. Voici le script:
Bloc de code:
#!/usr/bin/sed -f
# latin2html - remplace tous les caractères accentués ISO Latin 1 (ou 9)
#     par leur équivalent HTML
s/À/\À/g
s/Â/\Â/g
s/Ä/\Ä/g
s/Æ/\Æ/g
...etc
Lorsque je lance la commande:
Bloc de code:
% latin2html.sed < doc.html > docbis.html
j'obtiens ce message d'erreur:
Bloc de code:
sed: 4: /Users/frangi/bin/latin2html: RE error: illegal byte sequence
Apparemment, ce sont les caractères accentués qui gênent sed (?). Un script analogue avec:
Bloc de code:
% sed -e 's/bizarre/drôle/g' < doc.txt > doc2.txt
fonctionne parfaitement; mais pas l'inverse:
Bloc de code:
% sed -e 's/drôle/bizarre/g' < doc2.txt > doc3.txt
J'avoue n'y rien comprendre. Si quelqu'un pouvait éclairer ma lanterne? Je le remercie. (Je débute avec sed).
 
Je me réponds.
J'ai partiellement résolu le problème en installant la version livrée avec fink de sed (4.1-10). Mais évidemment, celle du système ne marche toujours pas.