El comando rename en Linux es una herramienta poderosa para renombrar archivos y directorios en bloque usando patrones definidos con expresiones regulares compatibles con Perl.
En 2026 sigue siendo muy útil cuando necesitas cambiar extensiones, añadir prefijos o sufijos, o modificar nombres de forma masiva y programática, especialmente en tareas de administración, automatización y organización de archivos.
Su gran ventaja es que permite realizar operaciones complejas de renombrado con una sola línea, sin escribir comandos individuales para cada archivo. Eso lo convierte en una opción ideal para scripts, procesos repetitivos y limpieza de directorios grandes.
¿Qué hace el comando rename?
rename permite renombrar archivos basándose en una expresión regular. La expresión define qué patrón se debe buscar y qué se debe reemplazar.
La sintaxis básica es:
rename 'expresión' archivos
La expresión es una expresión regular compatible con Perl (s/patrón/sustitución/) y archivos especifica los archivos a renomar.
Por ejemplo, para cambiar la extensión .txt de todos los archivos a .doc:
rename 's/.txt$/.doc/' *.txt
La salida típica sería:
file1.txt -> file1.doc
file2.txt -> file2.doc
file3.txt -> file3.doc
Esto significa que rename ha renombrado todos los archivos .txt en .doc en una sola operación.
¿Cómo renombrar un solo archivo?
Aunque rename es más útil para bloques, también puede renombrar un archivo individual.
Primero crea algunos archivos:
touch file1.txt file2.txt file3.txt
Ahora renombra un archivo:
rename 's/file1/new_file1/' file1.txt
La salida sería:
file1.txt -> new_file1.txt
En este caso, rename ha cambiado solo el nombre file1 a new_file1 y ha mantenido la extensión .txt.
¿Cómo añadir prefijos o sufijos?
El comando rename también permite añadir prefijos o sufijos a los nombres usando expresiones regulares.
rename 's/(.*)\.txt$/prefix_\1.txt/' *.txt
La salida típica sería:
file1.txt -> prefix_file1.txt
file2.txt -> prefix_file2.txt
file3.txt -> prefix_file3.txt
En este ejemplo, la expresión captura todo el nombre antes de .txt y le añade el prefijo prefix_ antes de la extensión. Es una forma muy práctica de modificacion de nombres de forma automatizada.
Renombrado en bloque por extensión
Una de las funciones más comunes de rename es renombrar archivos con una extensión específica en toda una carpeta.
Primero crea algunos archivos de prueba:
touch file1.txt file2.jpg file3.pdf file4.doc
Para cambiar todos los .txt a .doc:
rename 's/\.txt$/.doc/' *.txt
La salida sería:
file1.txt -> file1.doc
Solo se renombra el archivo con extensión .txt. Los demás permanecen sin cambios.
¿Cómo añadir prefijo a archivos específicos?
Puedes también añadir un prefijo solo a archivos con una extensión específica.
rename 's/(.*)\.jpg$/image_\1.jpg/' *.jpg
La salida esperada sería:
file2.jpg -> image_file2.jpg
En este caso, rename captura el nombre completo antes de .jpg y le añade el prefijo image_.
Esto es muy útil cuando organizas fotos, documentos o archivos con identificaciones predefinidas.
¿Cómo crear expresiones regulares y complejidad?
rename usa expresiones regulares compatibles con Perl, lo que permite operaciones muy complejas. Puedes usar capturas, grupos, reemplazos condicionales y más.
Por ejemplo, para cambiar el orden de partes del nombre:
rename 's/([^_]+)_([^_]+)/\2_\1/' *.txt
Esto intercambiaría dos partes separadas por un guion bajo.
O para cambiar el formato de fecha:
rename 's/(\d{4})-(\d{2})-(\d{2})/\3-\2-\1/' *.txt
Esto transformaría 2026-07-08 a 08-07-2026 en los nombres.
Estas operaciones son muy útiles en limpieza de datos, migración de archivos y organizacion de proyectos.
¿Cuándo usar el comando rename?
rename es especialmente útil en situaciones como estas:
- Renombrar múltiples archivos con la misma extensión.
- Añadir prefijos o sufijos a una lista de archivos.
- Cambiar formatos de nombres (fechas, códigos, identificaciones).
- Reorganizar archivos según patrones.
- Automatizar limpieza de directorios.
Es una herramienta ideal para tareas repetitivas donde necesitas mantener consistencia en los nombres.
Buenas prácticas
Cuando usas rename, es buena idea probar primero con un solo archivo o con un subconjunto pequeño para verificar que la expresión funciona como esperas.
También es recomendable usar expresiones claramente etiquetadas y comentarlas en scripts para evitar errores.
Cuando la expresión es compleja, es mejor separar el proceso en pasos y validar cada paso antes de continuar.
Conclusión
El comando rename en Linux es una herramienta poderosa para renombrar archivos y directorios en bloque usando expresiones regulares compatibles con Perl.
Sigue siendo muy útil en 2026 porque permite realizar operaciones masivas de renombrado con una sola línea, sin escribir comandos individuales.
Sus usos más comunes son:
rename 's/.txt$/.doc/' *.txtpara cambiar extensión.rename 's/(.*)\.jpg$/image_\1.jpg/' *.jpgpara añadir prefijo.rename 's/file1/new_file1/' file1.txtpara renombrar un archivo.- Expresiones complejas con capturas y reemplazos.
