Muy buenas a todos,
Estoy probando un script que renombre los nombres de archivo y directorio de la ruta actual en minúsculas si están en mayúscula y que sustituya también los espacios por guiones bajos.
Se que es un tema un poco manido y he buscado mucha información pero sigo sin comprender porqué no funciona esto.
Aquí os pongo mi código de prueba, que no se por qué no funciona...
Código:
#!/bin/bash
#Script que convierte los nombres de archivos y directorios que estén en mayúsculas y espacios a minúsculas y guiones bajos.
#Se tiene que ejecutar dentro de la ruta de destino
for var in *; do
nombre=$var
nuevonombre=`echo $var | tr 'A-Z' 'a-z' | tr ' ' '_'`
#echo "$nombre --> $nuevonombre"
mv $nombre $nuevonombre
done
echo ""
echo "Conversión finalizada."
Si descomentáis la linea de echo los nombres salen bien pero luego al hacer el 'mv' me da muchos errores como este:
mv: el destino, «esto_es_en_blanco.txt», no es un directorio (ya, es un fichero pero mv renombra ficheros también!!!)
El mv ejecutado a mano en la consola con exactamente la misma sintásis funciona bien.
¿Qué puede estar pasando?
Muchas gracias por vuestra ayuda.