El comando rename de Linux está diseñado para cambiar los nombres de archivos y directorios de acuerdo con reglas específicas. No es solo una utilidad de cambio de nombre simple; permite a los usuarios realizar operaciones de cambio de nombre masivo utilizando expresiones regulares, lo que lo convierte en un comando esencial para administradores de sistemas y desarrolladores por igual.
Similar al comando mv, que se usa para mover o cambiar el nombre de archivos, el comando rename ofrece más flexibilidad y control. Es comúnmente utilizado por profesionales de TI, tales como administradores de sistemas, programadores y analistas de datos, para administrar grandes conjuntos de archivos de manera eficiente.
Cómo Instalar el Comando rename
La disponibilidad del comando rename
puede variar según la distribución de Linux. A continuación, describiré cómo instalar y desinstalar el comando rename para algunas distribuciones comunes:
Sistemas basados en Debian (por ejemplo, Ubuntu)
Instalar:
sudo apt-get update
sudo apt-get install rename
Desinstalar:
sudo apt-get remove rename
Sistemas basados en RedHat (por ejemplo, Fedora, CentOS)
Instalar:
sudo dnf install prename
Desinstalar:
sudo dnf remove prename
Arch Linux
Instalar:
sudo pacman -S perl-rename
Desinstalar:
sudo pacman -R perl-rename
openSUSE
Instalar:
sudo zypper install rename
Desinstalar:
sudo zypper remove rename
Cómo Usar rename
Reemplazar una cadena en los nombres de archivo
Sintaxis:
rename 's/antiguo/nuevo/' *
Explicación: Reemplaza la cadena “antiguo” con “nuevo” en todos los nombres de archivo en el directorio actual.
Ejemplo:
rename 's/prueba/demo/' *
Resultado:
pruebaarchivo1.txt renombrado como demoarchivo1.txt
pruebaarchivo2.txt renombrado como demoarchivo2.txt
Todos los archivos en el directorio actual que tenían prueba
en su nombre ahora lo tienen reemplazado por demo
.
Agregar un prefijo a los nombres de archivo
Sintaxis:
rename 's/^/prefijo_/' *
Explicación: Agrega “prefijo_” al principio de todos los nombres de archivo en el directorio actual.
Ejemplo:
rename 's/^/muestra_/' *
Resultado:
archivo1.txt renombrado como muestra_archivo1.txt
archivo2.txt renombrado como muestra_archivo2.txt
Todos los archivos en el directorio actual ahora comienzan con el prefijo muestra_
.
Eliminar una extensión de archivo
Sintaxis:
rename 's/.ext$//' *
Explicación: Elimina la extensión de archivo “.ext” de todos los nombres de archivo coincidentes en el directorio actual.
Ejemplo:
rename 's/.txt$//' *
Resultado:
documento.txt renombrado como documento
notas.txt renombrado como notas
Todas las extensiones .txt
de los archivos en el directorio actual han sido eliminadas.
Convertir nombres de archivo a minúsculas
Sintaxis:
rename 'y/A-Z/a-z/' *
Explicación: Convierte todas las letras mayúsculas en nombres de archivo a minúsculas en el directorio actual.
Ejemplo:
rename 'y/A-Z/a-z/' *
Resultado:
ARCHIVO1.TXT renombrado como archivo1.txt
ARCHIVO2.TXT renombrado como archivo2.txt
Todos los nombres de archivo en el directorio actual que tenían letras mayúsculas ahora están en minúsculas.
Cambiar la extensión del archivo
Sintaxis:
rename 's/.ext-antigua$/.ext-nueva/' *
Explicación: Cambia la extensión del archivo de “.ext-antigua” a “.ext-nueva” para todos los nombres de archivo coincidentes en el directorio actual.
Ejemplo:
rename 's/.jpg$/.png/' *
Resultado:
imagen1.jpg renombrado como imagen1.png
imagen2.jpg renombrado como imagen2.png
Todas las extensiones .jpg
de los archivos en el directorio actual se han cambiado a .png
.
Eliminar un sufijo de nombres de archivo
Sintaxis:
rename 's/sufijo$//' *
Explicación: Elimina “sufijo” del final de todos los nombres de archivo en el directorio actual.
Ejemplo:
rename 's/_copiaseguridad$//' *
Resultado:
archivo1_copiaseguridad.txt renombrado como archivo1.txt
archivo2_copiaseguridad.txt renombrado como archivo2.txt
Todos los archivos en el directorio actual que terminaban con _copiaseguridad
ahora tienen ese sufijo eliminado.
Reemplazar espacios con guiones bajos en nombres de archivo
Sintaxis:
rename 's/ /_/' *
Explicación: Reemplaza todos los espacios con guiones bajos en los nombres de archivo en el directorio actual.
Ejemplo:
rename 's/ /_/' *
Resultado:
mi archivo.txt renombrado como mi_archivo.txt
otro archivo.txt renombrado como otro_archivo.txt
Todos los nombres de archivo en el directorio actual que tenían espacios ahora tienen esos espacios reemplazados por guiones bajos.
Agregar un sufijo a los nombres de archivo sin cambiar la extensión
Sintaxis:
rename 's/(.\w+)$/_sufijo$1/' *
Explicación: Agrega “_sufijo” antes de la extensión del archivo para todos los nombres de archivo en el directorio actual.
Ejemplo:
rename 's/(.\w+)$/_editado$1/' *
Resultado:
archivo1.txt renombrado como archivo1_editado.txt
archivo2.jpg renombrado como archivo2_editado.jpg
Todos los archivos en el directorio actual ahora tienen _editado
agregado antes de la extensión del archivo.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.