| Renombrar ficheros masivamente |
| Escrito por José J. Grimaldos | |
|
Existen varias utilidades para renombrar un conjunto de ficheros utilizando el entorno gráfico, sin embargo, si queremos evitar la instalación de aplicaciones que usaremos esporádicamente, como en este caso, la temida terminal se convierte en un gran aliado. Las órdenes para copiar [cp] y para mover [mv] ficheros, también pueden utilizarse con este propósito, sin embargo, la herramienta adecuada es el comando rename. Es útil cuando descargamos fotografías de una cámara digital o extraemos música de un CD y los nombres de fichero contienen espacios en blanco o cadenas de caracteres que nos gustaría sustituir por otras. Veamos algunos ejemplos prácticos. Esta orden presente en distribuciones Debian es muy potente y compleja, dado que utiliza expresiones de Perl para su sintaxis, cuyo formato es: rename [-v] [-n] [-f] perlexpr [files]Entre los modificadores, es muy interesante la opción -n ya que permite emular los cambios que se producirán al ejecutar el comando y rectificar, si fuera necesario, antes de provocar un efecto no deseado. Eliminar los espacios en blanco de un conjunto de ficheros: $ rename "s/ *//g" * Situados en el directorio correspondiente [cd directorio], la expresión anterior elimina los espacios en blanco de un conjunto de fichero contenidos en dicha carpeta. También puede indicarse un patrón para la orden: $ rename "s/ *//g" *.jpg Causaría el mismo efecto limitándose a los ficheros con extensión .jpg Sustituir una cadena de caracteres Cuando queremos cambiar un determinado conjunto de caracteres presente en una serie de nombres de fichero, la sintaxis sería: rename -v "s/r1/r_1/g" *.mp3
Chapter10.mp3 renamed as Chapter_10.mp3 Ha buscado en todos los ficheros con extensión .mp3 del directorio la cadena r1 y la ha sustituido por r_1, el modificador -v es el que muestra en pantalla qué está haciendo la orden. En ésta página se puede ampliar un poquito más sobre este asunto. |