Renombrar ficheros en linux

En cualquier sistema UNIX podemos renombrar ficheros de al forma estándar con mv sin problemas y podemos automatizar tareas para renombrar ficheros, pero podemos ir un poco más allá

El comando rename nos va a facilitar muchísimo la vida y podemos hacer cosas muy interesantes.

Por ejemplo, queremos sustituir todos los espacios en los nombres por guiones bajos, además queremos quitar los paréntesis, los guiones medios y los &, ¿cómo podemos hacer todo esto?

rename 's/ /_/g' *
rename 's/\$//g' *
rename 's/\(//g' *
rename 's/\)//g' *
rename 's/\-//g' *

El comando rename para hacer las sustituciones funciona de forma similar a como se hace una búsqueda en vi, así que si sabéis buscar en vi sabéis usar este comando.

Para hacer las sustituciones tendremos que escribir después de rename ‘s/LO_QUE_QUERAMOS_BUSCAR/POR_LO_QUE_QUEREMOS_CAMBIAR/g‘.

Hay que tener en cuenta que a lo mejor es necesario que escapemos caracteres. Por ejemplo si queremos sustituir un & lo suyo es escaparlo con \&.

La cadena entera empezará por s y terminará por g, es todo lo que tenemos que tener en cuenta.

Espero que os sea de utilidad.