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.637 ]
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 para fazer o scroll (a rodinha) do mouse serial funcionar
Faz uma busca no OpenSubtitles por um filme.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalando Google Chrome no Debian 13
Alguém pode me recomendar um editor de textos? (0)
meus dois pen drives não são mais reconhecidos pelo meu PC apos tentar... (1)