Recodefilename
De FJWiki
Revisión del 16:45 23 ene 2009 de FJRA (Discusión | contribuciones) (Página nueva: Siempre hay errores cuando se copia de particiones windows a particiones linux respecto a la codificación de caracteres. Por tanto, aquí hay una solución (aún no recursiva :P), pa...)
Siempre hay errores cuando se copia de particiones windows a particiones linux respecto a la codificación de caracteres. Por tanto, aquí hay una solución (aún no recursiva :P), para solucionar esos errores.
Uso
Para usar el script:
$ recodefilename (codificación de origen) (codificación de destino) (archivos)
Para saber la lista de codificaciones disponibles, usar:
$ iconv --list
Por ejemplo, transformar del iso latino "normal" a utf8 todo el contenido del directorio actual podría usarse:
$ recodefilename ISO8859-1 UTF-8 *
Códifo fuente de recodefilename
#!/bin/bash
#
# Hecho por FJ.
# Sea GPL!
#
# Inspirado en: http://www.usenet-forums.com/linux-general/86205-messed-up-utf8-filenames-ext3-after-some-copy.html
if [ -z "$3" ]; then
echo "Uso: $0 <codificacion origen (ISO8859-1)> <codificacion destino (UTF-8) <archivo1> [<archivo2>...]"
exit 1
fi
origen=$1
destino=$2
while [ -n "$3" ]; do
nuevonombre=`echo $3|iconv -f $origen -t $destino`
if [ "$nuevonombre" != "$3" ]; then
mv "$3" "$nuevonombre"
fi
shift
done