Читать кодировку символов с помощью sed

Я пытаюсь написать bash-скрипт для преобразования всех специальных символов в файле (é, ü, ã и т. Д.) В латексный формат (\ 'e, \ "u, \ ~ a и т. Д.). Обычно, этот материал действительно легко сделать с sed, но у меня возникают проблемы с получением sed для распознавания специальных символов. Как я могу сказать команде прочитать файл, используя iso или кодировку UTF-8?

[ 112] Если это невозможно, есть ли способ заставить sed понимать специальные символы?

1
задан 8 May 2011 в 18:39

1 ответ

Это может быть так же просто, как

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

, где переменная enc содержит кодировку входного файла, одну из строк, полученную из iconv -l.

0
ответ дан 8 May 2011 в 18:39

Другие вопросы по тегам:

Похожие вопросы: