Como convertir todos los nombres de los archivos a minúsculas
In English
Cuando descargas archivos de diferentes fuentes, a veces sucede que hay letras mayúsculas y minúsculas de una forma que no es lo que te gusta o lo que necesitas.
Personalmente me gusta tener todos los nombres de los archivos en minúscula, pero termino con algo como:
unArchivo.JPG iNcReIbLe.pNg estoEsUnCamello.Svg iUnDocumentoRaRo.docX
Este comando puede volver todos los nombres de estos archivos minúsculas:
for original in *; do mv $original `echo $original | tr '[:upper:]' '[:lower:]'`; done
Por supuesto que a veces son solo las extensiones las que queremos volver minúsculas, esto puede ser usado con archivos .JPG:
for original in *.JPG; do mv $original `echo $original | tr '[:upper:]' '[:lower:]'`; done
¿Que hacer con los espacios en los nombres de archivo?
Muchos archivos vienen también con espacios. Usualmente yo separo las palabras con un guión medio ( - )
, pero soy un programador, me gusta esta forma: este-nombre-de-archivo.txt
, y descargo esto: ‘Este nombre de archivo.PNG’
Esto cambia esos espacios a guiones medios:
for original in *; do mv "$original" `echo $original | tr ' ' '-'`; done
En Linux/Unix tenemos “Pipping”, podemos enviar el resultado de un comando al siguiente comando, y luego al siguiente comando: ‘echo’
a ‘tr’
a ‘tr’
de nuevo. Este comando volverá todos las letras minúsculas y reemplazará los espacios con '-'
for original in *; do mv "$original" `echo $original | tr '[:upper:]' '[:lower:]' | tr ' ' '-'`; done
Otra opción es simpremente borrar esos espacios:
for original in *.txt; do mv "$original" `echo $original | tr -d ' '`; done
Hay mucho que se puede hacer con el comando tr
, no solo en nombres de archivo sino en textos en general. En este caso en particular lo utilizo para lidiar con los nombres de archivo y que se ajusten a mi gusto.