Freqüentemente no meu trabalho recebo arquivos codificados em iso-8859-1, vindos do windows. Além do conteúdo, o nome do arquivo é um problema, com todos aqueles caracteres estranhos.
Vejam como recebo os arquivos (eles vêm compactados em zip):
Para renomeá-los todos de uma vez, fiz um pequeno script, usando o iconv. Chamei este script de muda_codificacao.sh. Assim, para renomear de uma vez só todos os arquivos dentro de uma pasta, eu uso:
muda_codificacao.sh PASTA_ONDE_ESTAO_OS_ARQUIVOS
Eis o script. Fiquem a vontade para modificá-lo às suas necessidades. Para algumas pessoas um script para o nautilus seria mais conveniente, não? Para mim este script é mais que suficiente, visto que uso bastante o terminal.
Até mais,
Wendell.
Muito util, gostei
Muito legal seu script. Eu vou tentar fazer uma modificação do mesmo para colocar como uma função dentro do .bashrc, que tal?
Qualquer coisa publica algo assim.
Valeu!
Muito útil. Eu to querendo fazer um carinha que renomeie todos os arquivos de uma pasta (e suas subpastas) para um padrão comum (minusculo, sem acentos e no lugar dos espaços um underline).
O funcoeszz do verde faz isso, mas ele naum aplica em subpastas. Isso é uma coisa extremamente util para quem compartilha arquivos com usuarios do windows…
abraços,
faz para nautilus!!!! por favor!
eu tenho esse problema e nao estou habituado a usar console
Um script para o Nautilus seria uma mão na roda, afinal, se quisermos ser competitivos com o sistema Windows do Tio Bill que prima pela facilidade de uso, cada vez mais teremos que facilitar as coisas para os novos usuários.
Wendell,
Recebi a seguinte mensagem ao tentar executar o seu script:
[: 24: ==: unexpected operator
O que é isso?
Olá, Heber. Este script foi testado e usado no bash. Você usa outro shell?
Se usa Ubuntu, tente o comando no terminal:
sudo dpkg-reconfigure dash
este 1liner é suficiente para as suas conversões ?
find -type f -maxdepth 1 | xargs -i iconv -f iso-8859-1 -t utf-8 {} -o {}
Erro 404 – Nao estou achando o script.
Alexsandro, tenta agora.
Olha Jonh, estou com o mesmo problema que o Heber teve:
[: 24: ==: unexpected operator
Nao consegui soluciona-lo ainda. Tem idéia do que seja? Eu uso o bash mesmo.
Pra falar a verdade, verifiquei agora e os arquivos ficaram piores ainda hehehe:
Aguas de marÃÂÃÂo
Que deveria ser: Aguas de março
Desculpe os multiplos posts..
O problema deve ser a conversão da encodificação… pois estou tentando executar o script numa partição ext3 mesmo… todos eles estão como os exemplos que vc mostrou nas screenshots acima com ‘?’ no lugar dos acentos e cedilhas.
Mais um..
Enfim resolvido.
Eu havia copiado arquivos de uma partição NTFS – windows xp, para a minha ext3…
O problema é que a encodificação do windows na verdade é a tal cp850 e tem tbm a cp437.
Mofidicando seu script para converter essas dai para utf-8 ficou tudo perfeito.
Obrigado!
Weber e Luciano tente indicar o bash
$ bash ./muda_codificacao.sh