Pasando de latint1 a utf8
Written by Gnuget on 2008.07.08
Hace tiempo tuve que migrar una web completa (hecha a la antigua puro HTML) y al ponerla en el nuevo servidor me di cuenta que los archivos estaban hechos en LATIN1.
Así que cree un pequeño script en bash para pasarlos a utf8 y que ahora comparto con ustedes:
#Este script cambia de latin1 a utf8
#@author
David Valdez
echo "corrigiendo encode de la carpeta " `pwd`
for n in `ls | grep .*\.txt `
do
if test -f $n
then
iconv $n -f Latin1 -t utf8 -o ${n}.bak
mv ${n}.bak $n
fi
done
#esto
es para hacerlo recursivo
for i in `ls`
do
if test -d $i
then
cd $i
$HOME/changeEncode.sh
cd ..
fi
done
Lo único que se tiene que hacer es poner el script en la carpeta padre donde queramos cambiar el encoding de nuestros archivos y ejecutarlo, el script visitara cada archivo y subcarpeta cambiando la codificación de nuestros archivos.
Es todo

creo que se puede hacer con algo así:
find /path -type f -exec iconv -f latin1 -t uf8 {} -o {}
Saludos…