|
From: | Robson Alexandre |
Subject: | Re: [shell-script] Detectar codificação de texto |
Date: | Fri, 6 Feb 2015 10:07:24 -0200 |
digamos que vc só tenha iso e utf8. vc quer converter utf8 para iso:$ lsarquivo.iso arquivo.utf8$ file -i *arquivo.iso: text/plain; charset=iso-8859-1arquivo.utf8: text/plain; charset=utf-8$ for i in *; do grep -q iso <<< $(file -i $i) && echo "$i ok" || echo "$i nok"; donearquivo.iso okarquivo.utf8 nok$ for i in *; dogrep -q iso <<< $(file -i $i) || iconv -f utf8 -t iso8859-1 $i > ${i}.FIXEDdone$ lsarquivo.iso arquivo.utf8 arquivo.utf8.FIXED$ file -i *arquivo.iso: text/plain; charset=iso-8859-1arquivo.utf8: text/plain; charset=utf-8arquivo.utf8.FIXED: text/plain; charset=iso-8859-12015-02-05 18:11 GMT-02:00 Robson Alexandre address@hidden [shell-script] <address@hidden>:Robson AlexandreAtenciosamenteonde tentei filtrar os caracteres de controle [[:cntrl:]], os não imprimíveis [^[:print:]], mas sem resposta ao filtro.Tentei o file -i sem sucesso.Gostaria de saber uma forma de identificar o encoding das strings, ou das linhas do arquivo para saber quais arquivos estão com sua codificação errada.Boa tarde a todos,estou com uma lista de arquivos gerada pelo find onde alguns arquivos tem sua nomenclatura em ISO8859 e outros em UTF8. Como exemplo as duas linhas correspondentes estão neste arquivo:
Preserva��o de Material de Informatica.pdf
Preservação de Material de Informatica.pdf
Mas se criar um arquivo temporário com a linha, o file -i resulta:
Preserva��o de Material de Informatica.pdf
text/plain; charset=iso-8859-1
E com a linha na codificação correta
Preservação de Material de Informatica.pdf
text/plain; charset=utf-8
Tentei um cat -A nessas linhas que resultaram:
PreservaM-gM-co de Material de Informatica.pdf$
PreservaM-CM-'M-CM-#o de Material de Informatica.pdf$Se eu uso o 'iconv -f latin1 -t utf8' ele acaba convertendo tudo, inclusive o que já está em UTF8.Alguém poderia dar alguma dica?--
[Prev in Thread] | Current Thread | [Next in Thread] |