Я пытаюсь написать bash-скрипт для преобразования всех специальных символов в файле (é, ü, ã и т. Д.) В латексный формат (\ 'e, \ "u, \ ~ a и т. Д.). Обычно, этот материал действительно легко сделать с sed
, но у меня возникают проблемы с получением sed для распознавания специальных символов. Как я могу сказать команде прочитать файл, используя iso или кодировку UTF-8?
Это может быть так же просто, как
iconv --from-code $enc input-file |
sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' |
iconv -to-code $enc >converted-input-file
, где переменная enc
содержит кодировку входного файла, одну из строк, полученную из iconv -l
.