Renombrar varios archivos a la vez, en lote, desde consola (linux).-

1) Añadir algo tras una parte del nombre del archivo que es común en todos los ficheros.
Ejemplo:
imagenXXXX.jpg por imagen_NEW_XXXX.jpg

# rename -v -n 's/imagen/imagen_NEW_/' *.jpg

2) Renombrar un grupo de imágenes con nombres diferentes. Si tenemos un grupo de imágenes (por ejemplo PNG) a las que les queremos añadir una información en la parte final del nombre de la imagen antes de la extensión.
Ejemplo:
nombreimagen.png por nombreimagen_150x150.png

# rename -v -n 's/\.png/\_150x150.png/' *.png

3) Vamos a suponer que queremos reemplazar los guiones bajos por guiones medios («_» por «-«) en los nombres de nuestros archivos de un directorio determinado.

# rename -v -n 's/_/-/' *.jpg

4) Añadir texto al inicio del nombre del fichero. Con el carácter ^ le indicamos al comando rename que se sitúe en el comienzo del nombre del fichero y ahí inserte o ejecute la segunda parte.
Ejemplo:
leccion 1.doc,
leccion 2.doc …
por
tema – leccion 1.doc,
tema – leccion 2.doc …

# rename -v -n 's/^/tema – /' *.doc

5) Si queremos eliminar varios caracteres antes de un punto de corte determinado.
Ejemplo:
texto1_abc_001_small.jpg,
texto2_abc_002_small.jpg,
texto3_abc_003_small.jpgpor
texto1_small.jpg,
texto2_small.jpg,
texto3_small.jpg
Utilizamos para el corte la cadena «_small» y le decimos que nos elimine los 8 caracteres (\w) anteriores, o los reemplace por lo que indiquemos en la segunda parte del comando rename.

# rename -v -n 's/\w{8}\_small/_small/' *.jpg

5b) Si queremos reemplazar desde un punto determinado de corte, pero respetando un número concreto de caracteres numéricos antes de la parte donde se produce el corte. Para este caso usamos el elemento «$1» en la cadena de la parte derecha, para que nos coja esa variable obtenida de la parte izquierda.  Viendo el ejemplo se entenderá mejor.
Ejemplo:
texto1_uno001_small.jpg,
texto2_otro002_small.jpg,
texto3_cualquiera003_small.jpg …por
texto1_uno_ADD-001_small.jpg,
texto2_otro_ADD-002_small.jpg,
texto3_cualquiera_ADD-003_small.jpg …

Utilizamos para el corte la cadena «_small» y le decimos que nos guarde los 3 caracteres numéricos (\d) anteriores (001, 002, 003…) utilizando el $1 en la segunda parte del comando (la expresión de la derecha) Nos añadirá o modificara lo indicado en la segunda parte del comando rename justo antes de esos 3 caracteres reservados antes del corte.

# rename -v -n 's/(\w{3})\_small/_ADD–$1_small/' *.jpg

6) Cambiar mayúsculas y minúsculas.
Ejemplo:
mi_fichero.txt por MI_FICHERO.TXT

# rename -v -n 'y/a-z/A-Z/' *.txt

7) Eliminar del nombre del fichero caracteres especiales que no están entre la letra a y la z (a-z) . Dejando en el nombre del fichero solo caracteres alfanuméricos.
Ejemplo:
mi-fichero.txt por mifichero.txt

# rename -v -n 'v/[^a-z]//' *.*

Para cambiar varios caracteres lo ejecutamos varias veces:
Ejemplo:
mi-fichero-con-varios-caracteres.txt por mificheroconvarioscaracteres.txt
Lo ejecutaremos 4 veces.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.