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 renameDesinstalar:
sudo apt-get remove renameSistemas basados en RedHat (por ejemplo, Fedora, CentOS)
Instalar:
sudo dnf install prenameDesinstalar:
sudo dnf remove prenameArch Linux
Instalar:
sudo pacman -S perl-renameDesinstalar:
sudo pacman -R perl-renameopenSUSE
Instalar:
sudo zypper install renameDesinstalar:
sudo zypper remove renameCó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.txtTodos 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.txtTodos 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 notasTodas 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.txtTodos 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.pngTodas 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.txtTodos 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.txtTodos 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.jpgTodos 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.