Cambiar nombres y/o extensiones de ficheros de forma masiva (desde la terminal)

Es habitual encontrarnos con ficheros a los que, por una razón u otra, tenemos que cambiarles el nombre o la extensión. Ésto, en principio, es muy sencillo de realizar. El problema viene cuando este cambio tenemos que realizarlo sobre cientos o miles de ficheros a la vez.

Por poner un ejemplo práctico. Imaginemos que tenemos una carpeta llena de ficheros de imágenes, la mitad de ellas con la extensión «.jpg» y la otra mitad con la extensión «.JPEG» . En principio, se trata del mismo tipo de ficheros, pero nos gustaría (o necesitamos) tener todos los ficheros con una extensión uniforme del tipo «.jpg» .

Para realizar esta tarea, que en principio parece tan colosal de realizar a mano, normalmente los usuarios suelen buscar aplicaciones gráficas que realicen el trabajo. Pero la solución más sencilla está en la terminal. Veamos cómo hacerlo:

Sólo tenemos que abrir un terminal y ejecutar el comando…

rename ‘s/\.JPEG/\.jpg/’ *

… en este caso suponemos que estamos dentro de la carpeta donde se encuentran los ficheros a renombrar.

El comando anterior lo que hace es buscar en todos los ficheros dentro de la carpeta en la que nos encontramos, y cambiar en sus nombres aquellos patrones de texto del tipo «.JPEG» por «.jpg». Lo que en la práctica se traduce por realizar la tarea de renombrado masivo que deseábamos.

Rápido, sencillo y eficaz.