Gostaria de chamar um utilitário de linha de comando no Mac OS X 10.8 que me permita converter um arquivo de texto salvo na codificação romana padrão do Western Mac OS para o UTF-8 mais genérico.
Vou chamar o utilitário de um AppleScript que eu criei. AppleScript é extremamente lento ao trabalhar com blocos de texto muito grandes. Como tal, quero fazer a análise e a conversão de texto usando a linha de comando do OS X. Eu encontrei uma ferramenta chamada "sed", que me permite fazer a análise de texto. No entanto, ainda existem muitos elementos do arquivo que precisam ser limpos, caracteres que aparecem como lixo se o arquivo for aberto como utf-8 (por exemplo, aspas e elipses inteligentes).
Eu estou pensando que forçar uma conversão de codificação de texto pode ajudar a eliminar todos os caracteres não utf8 no arquivo. No entanto, não consigo ver como "sed" pode converter facilmente a codificação de texto.
Já salvarei o arquivo temp txt, como MacRoman, em disco usando as rotinas AppleScript internas.
Algum de vocês tem alguma idéia sobre uma ferramenta de linha de comando interna que pode converter a codificação de texto? Linha de comando para desempenho e built-in, já que outros usuários do meu script não terão necessariamente o conjunto de ferramentas adequado se ele não estiver embutido.
Obrigado pela ajuda!
Respostas:
Outra maneira de converter caracteres não ASCII em variantes ASCII é usar
iconv -t ASCII//TRANSLIT
:ASCII//IGNORE
removeria caracteres não ASCII, mas você também pode fazer isso por exemplotr -dc '\0-\177'
.fonte
iconv
transliterar: ä → a "?"ä
por justa
.iconv
é definitivamente a ferramenta de escolha aqui:Execute
iconv --list
para ver uma lista de todas as codificações suportadas.fonte