Script - muda nomes de arquivos de iso-8859-1 para utf8 recursivamente
Publicado por Daniel Ribeiro da Silva (última atualização em 19/06/2011)
[ Hits: 5.761 ]
Homepage: http://danielbr-news.blogspot.com/
Download fix_filename_iso2utf8.sh
Como utf8 é o padrão mais adotado ultimamente e o windows tema em manter um padrão próprio (podemos chamar isso de padrão?!), resolvi fazer esse script para me ajudar no dia a dia:
A partir do diretório atual, vai corrigindo nomes de diretórios e arquivos de iso-8859-1 para utf8.
Pode ser necessário rodar mais de uma vez, mas funciona que é uma beleza.
Vou postar também o link de outro script que muda o conteúdo de iso-8859-1 para utf8 em arquivos de texto, html e xml. Afinal, mudar somente o nome dos arquivos não é suficiente.
[]s
Daniel Ribeiro
http://danielbr-news.blogspot.com
http://danielbr-dev.blogspot.com
#!/bin/bash
CONVERTER (){
for i in *
do
#novonome=$(echo "$i" | iconv -f iso-8859-1 -t utf-8 | tr ' ' '_' ) | \
#tr '[:upper:]' '[:lower:]')
resultado_isutf8=$( isutf8 "$i" | grep false )
if [ "$resultado_isutf8" == "" ]
then
continue
fi
novonome=$(echo "$i" | iconv -f iso-8859-1 -t utf-8 )
if [ "$novonome" != "$i" ] ;
then
echo " Renomeando \"$i\" para \"$novonome\"... em $( pwd )"
mv "$i" "$novonome"
fi
done
}
PROCESSA_DIR(){
diretorios=$( find ./ -type d )
#ROOT=$( pwd | sed 's/\ /\\\ /g' )
ROOT=$( pwd )
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for d in $diretorios
do
dir=$d
resultado_isutf8=$( isutf8 "$d" | grep false )
if [ "$resultado_isutf8" != "" ]
then
count=0
SAVEIFS2=$IFS
IFS=$(echo -en "/")
for t in $d
do
#echo "Parte: $t"
novonome=$t
resultado_isutf8=$( isutf8 "$t" | grep false )
if [ "$resultado_isutf8" != "" ]
then
novonome=$(echo "$t" | iconv -f iso-8859-1 -t utf-8 )
fi
nomes[$count]=$novonome
count=`expr $count + 1`
done
IFS=$SAVEIFS2
novonome_final=""
count2=0
while [ $count2 -lt $count ]
do
novonome_final=$( echo "$novonome_final""${nomes[count2]}""/" )
count2=`expr $count2 + 1`
done
dir=$novonome_final
fi
#echo "--- Process $dir ---"
#dir=$( echo "$d" | sed 's/\ /\\\ /g' )
cd "$dir"
CONVERTER
#echo "------------------"
cd "$ROOT"
done
IFS=$SAVEIFS
}
PROCESSA_DIR
Script de compilação do kernel 3.3.2 com cflags -march=native e patch 3.3.0-ck1 para ubuntu 11.10
Trocar nomes maiúsculos por minúsculos
Script simples para cálculos com dialog
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









