cd mi_directorio
find . | egrep -v ".bak$" | xargs file | grep -i ISO-8859 | sed "s/:.*//g" | xargs -I @ sh -c "if [ ! -f @.bak ]; then cp @ @.bak; else echo @.bak:creado; fi && iconv -f ISO-8859-1 -t UTF-8 @.bak > @"
Esto permite transformar recursivamente todos los archivos de texto de un directorio. Para eliminar los archivos de backup puede hacer.
find . -name "*.bak" | xargs rm