Puedes ejecutar en una terminal:

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