1 votes

Lire le codage des caractères avec sed

J'essaie d'écrire un script bash script pour convertir tous les caractères spéciaux d'un fichier (é, ü, ã, etc) au format latex (\'e, \"u, \~a, etc). Habituellement, ce genre de choses est très facile à faire avec sed mais j'ai du mal à faire en sorte que sed reconnaisse les caractères spéciaux. Comment puis-je indiquer à la commande de lire le fichier en utilisant l'encodage iso, ou UTF-8 ?

Si ce n'est pas possible, existe-t-il un moyen de faire comprendre à sed les caractères spéciaux ?

2voto

enzotib Points 86709

Cela peut être aussi simple que

iconv --from-code $enc input-file |
    sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' |
    iconv -to-code $enc >converted-input-file

où la variable enc contiennent l'encodage du fichier d'entrée, une des chaînes obtenues à partir de iconv -l .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X