Xarx.es

Dèries. La meua llibreta d'anotacions.

Renombrar Muchos Archivos Desde Linea De Comandos

La sintaxis de rename:

1
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

donde -v indica modo ‘verboso’, -n indica no-action (no se ejecuta el renombramiento), y -f indica forzar el cambio.

En la expresión de perl lo habitual es ‘s/viejo/nuevo’ que indica que hay que sustituir (s) el texto ‘viejo’ por el texto ‘nuevo’.

Ejemplos:

  • Cambiar parte del nombre:
1
rename -v 's/IMG_/\foto_/' *;.jpg
  • Cambiar la extensión:
1
rename -v 's/\.htm$/\.html/' *.htm

Cambiará los archivos con extensión htm y les pondrá html.

Dado que ‘.’ significa cualquier carácter en una expresión normal habrá que "escaparlo" para ello usamos ‘.’ ya que queremos que coincida con el punto de la extensión. El símbolo ‘$’ indica fin de nombre/cadena. Esto hará que se cambie el nombre para archivos *.htm pero no para otros que tengan algo más detras de la ‘m’, por ejemplo *.htms

  • Incluir texto:
1
rename -v 's/\.jpg$/_mini\.jpg/' *.jpg

Si queremos hacer explicito que se trata de miniaturas (thumbnails) podemos añadir a cada una el texto _mini justo delante de la extensión.

Más información:

Comentarios