Renombrar archivos en Bash con expresiones regulares

regex-bash

img_55eda6d2875ac

A veces es necesario cambiar el nombre de los archivos siguiendo algunos patrones. Hacer esta tarea manualmente es tedioso si tiene millas de archivos. Por esta razón, uso el comando rename (renombrar). 

A continuación algunas opciones para hacerlo de manera sencilla y práctica, según casos frecuentes:

1. Depuración y vista previa:

$ renombrar archivos 'EXPRESIÓN REGULAR' -n

Algunas de las expresiones más comunes que uso son:

2. Convertir el nombre del archivo a minúsculas:

$renombrar 'y/AZ/az/' *

3. Añadir prefijo el nombre del archivo:

$renombrar 's//texto-/' *.mp3
 
Eliminar sufijo:
[código lang='bash']
$renombrar 's/ - texto//' *.mp3

4. Renombrar dinámico

renombrar 's/(.*?)-(.*).mp3/$2-$1.mp3/' *.mp3 

Más información en el manual de cambio de nombre:

$man renombrar

NOMBRE
       renombrar - cambia el nombre de varios archivos
 
SÍNOPSIS
       renombrar [-v] [-n] [-f] perlexpr [archivos]
 
DESCRIPCIÓN
       "renombrar" cambia el nombre de los archivos proporcionados de acuerdo con la regla especificada como primer argumento. los
       El argumento perlexpr es una expresión de Perl que se espera que modifique la cadena $_ en Perl durante al menos
       algunos de los nombres de archivo especificados. Si un nombre de archivo dado no es modificado por la expresión, no será
       renombrado Si no se proporcionan nombres de archivo en la línea de comando, los nombres de archivo se leerán a través de la entrada estándar.
 
       Por ejemplo, para cambiar el nombre de todos los archivos que coincidan con "*.bak" para eliminar la extensión, podría decir
 
               renombrar 's/\.bak$//' *.bak
 
       Para traducir nombres en mayúsculas a minúsculas, usaría
 
               cambiar el nombre de 'y/AZ/az/' *
 
OPCIONES
       -v, --verbose
               Verbose: imprime los nombres de los archivos renombrados con éxito.
 
       -n, --no-acto
               Sin acción: muestra qué archivos se habrían renombrado.
 
       -f, --fuerza
               Forzar: sobrescribir archivos existentes.
 
AMBIENTE
       No se utilizan variables de entorno.