shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Rename de arquivos com acentuação


From: Robson Alexandre
Subject: Re: [shell-script] Rename de arquivos com acentuação
Date: Wed, 22 Mar 2017 11:48:01 +0000

Bom dia Giovanni,

Acho q a dica do Itamar irá resolver seu problema, visto que esse problema é típico de codificação.
Faça o teste do iconv para converter o conteúdo do seu arquivo vindo do Windows.
Qualquer dúvida sobre codificação do arquivo use file --mime-encoding arquivo,
Ou file --mime-type arquivo
Ou apenas file arquivo para mais informações

Atenciosamente
Robson Alexandre


Em Qua, 22 de mar de 2017 08:33, Giovanni Souza address@hidden [shell-script] <address@hidden> escreveu:

Bom dia Itamar,

Na verdade já resolvi o problema do \r com a solução citada anteriormente.

O problema agora é que a visualização dos acentos no terminal estão quebrados com interrogação ou com um caracter "código de barra" no lugar do acento ou ç. Conforme exemplo em meu último e-mail.


 ./renomear.sh
`/opt/dados/sinapse/anexos_sinapse/4.Arquivo.Arquivo.Apresenta\347\343o coaracy.ppt' -> `/opt/dados/sinapse/anexos_sinapse/arquivo.out'
`/opt/dados/sinapse/anexos_sinapse/arquivo.out' -> `/opt/dados/sinapse/anexos_sinapse/4.Arquivo.Arquivo.Apresenta\347\343o coaracy.ppt'
-rwxr-xr-x 1 sajb6ep sajb6ep 7774208 Oct 19  2012 /opt/dados/sinapse/anexos_sinapse/4.Arquivo.Arquivo.Apresenta??o coaracy.ppt
vmi01415[sajb6ep] /opt/dados/sinapse # ll '/opt/dados/sinapse/anexos_sinapse/4.Arquivo.Arquivo.Apresenta▒▒o coaracy.ppt'
-rwxr-xr-x 1 sajb6ep sajb6ep 7774208 Oct 19  2012 /opt/dados/sinapse/anexos_sinapse/4.Arquivo.Arquivo.Apresenta??o coaracy.ppt

Ao invés de aparecer o ç e o acento, aparece dessa maneira.

Achei que fosse locale, mas utilizei os locales abaixo e o problema continuou: 

LANG="en_US.UTF-8"
LANG="en_US.ISO-8859-1"
LANG="en_US.ISO-8859-15"
LANG="pt_BR.ISO-8859-1"
LANG="pt_BR.UTF-8"

Quando manipulo a saída para um arquivo, o ç e o acento é exibido normalmente ao abrir o arquivo com o vi,vim,view.


Em 21 de mar de 2017 10:46 PM, "address@hidden [shell-script]" <address@hidden> escreveu:
 

Caro Giovanni

O arquivo renomear.csv deve ter sido produzido dentro de um ambiente Windows, e está rodando esse script no ambiente linux.

Quem trabalha em ambientes heterogêneos costuma ter esse problema, pois os finais de linha em ambos são diferentes.

No Windows \r\n
No Linux \n
No Mac \r ( ao menos era antes de ter sua base do BSD, não sei se ainda é assim )

E no Windows a codificação é normalmente Latin1, Windows-1252 ou ISO-8859-1.

Já no Mac e Linux é muito comum ser UTF-8, mas pode ser configurado para qualquer codificação

Para esses casos eu costumo converter o arquivo usando " iconv " e " dos2unix " quando disponível, ou o " sed " ou " tr " como os colegas já demostraram.

Por exemplo eu faria antes

iconv -f iso-8859-1 -t utf-8 renomear.csv | tr -d '\r' > renomear-utf.csv

Ou poderia ser " sed '/\r//' " ou " dos2unix " no lugar do " tr " citado

E usaria esse segundo arquivo como base.

O trecho " -f iso-8859-1 " pode ser alterado conforme sua necessidade, mas normalmente esse funciona.

Espero que lhe ajude

[]'s
Itamar


--
Atenciosamente

Robson Alexandre

reply via email to

[Prev in Thread] Current Thread [Next in Thread]