erknrio
1/25/2017 - 6:23 PM

Renombrar ficheros Linux.

Renombrar ficheros Linux.

Introducción

Vamos a renombrar los ficheros de un directorio. OJO no ha sido probado en una carpeta que contenga subcarpetas. Hacer pruebas primero de recursividad. Y SIEMPRE DEBES tener copias de seguridad, SIEMPRE.

Sintaxis

rename -v "s/cadenabuscar/cadenasustituir/" fichero*.extension

Ejemplo real

Imaginemos que tenemos una gran cantidad de ficheros de log con el año, mes y día: apache20370129.log, por ejemplo.

Ahora queremos guardar todos esos logs dentro de una carpeta llamada 2037 pero no queremos que los nombres de los logs contengan dicho año ya que es redundante. Antes de mover los logs a una nueva carpeta podemos renombrarlos de la siguiente manera:

rename -v "s/2037//" apache*.log

-v: Se emplea para ver la salida del comando, así podremos verificar que se han cambiado los ficheros adecuados.

"s/2037//": es la expresión regular en perl. Indica que rename haga una sustitución de la cadena 2037 por otra cadena vacía, vamos que la elimine.

Por último, apache*.log: indica que busque ficheros que contengan apache, cualquier cosa * y la extensión .log.