Mediante un bash shell script sencillo es posible cambiar en Linux (y otras variantes de UNIX) los nombres de los archivos de mayúsculas a minúsculas o viceversa, según tu necesidad. Basado en el mismo script, es posible construir otros similares que manipulen los nombres de archivos de acuerdo a nuestra urgencia.

El script se valdrá de:

  • Un bloque for para recorrer todos los archivos de un directorio que le devuelve un ls.
  • Un if para asegurarse de cambiar el nombre únicamente a archivos planos.
  • El comando tr para "traducir" los caracteres en minúsculas del archivo a mayúsculas
  • El comando mv para renombrar el archivo original por el nombre devuelto de aplicar el tr sobre el nombre original.

Veamos como quedaría el código del script:

#!/bin/sh
# lowerit
# convierte todos los nombres de un directorio a minusculas
# solo funciona con nombres de archivos planos, no cambia nombres de directorios
# preguntara para verificacion antes de sobreescribir un archivo existente

for x in `ls`
    do
        if [ ! -f $x ]; then
            continue
        fi
    lc=`echo $x | tr '[A-Z]' '[a-z]'`
    if [ $lc != $x ]; then
        mv -i $x $lc
    fi
done

Vía: Noticias Interesante de Linux