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.471 ]
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
Executando comandos de telnet via shell-script
Acessar celular Motorola via USB
Música com a real beleza da matemática
Script Para o Desligamento do Sistema
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)