Cómo renombrar archivos y directorios usando la terminal de Linux

Suraj Joshi 5 noviembre 2020
  1. Renombrar archivos y directorios usando el comando mv
  2. Renombra los archivos y directorios usando el comando rename
Cómo renombrar archivos y directorios usando la terminal de Linux

Podemos renombrar archivos y directorios con los comandos rename y mv en la Terminal de Linux. El comando mv sólo puede renombrar un archivo a la vez, pero el comando rename puede renombrar múltiples archivos simultáneamente.

Renombrar archivos y directorios usando el comando mv

El comando mv puede renombrar archivos y directorios. También se usa para mover archivos y directorios de un lugar a otro.

Sintaxis del comando mv:

mv [OPTIONS] source destination

El source puede ser uno o más archivos o directorios, y el destination es siempre un solo archivo o directorio.

Si tenemos varios archivos o directorios como fuente, el destino es siempre un directorio. En este caso, todos los archivos y directorios de origen se mueven al directorio de destino.

Si tenemos un solo archivo como fuente y un directorio como destino, el archivo fuente se mueve al directorio de destino.

Para renombrar un archivo usando mv, tanto los parámetros de origen como los de destino en el comando mv deben ser archivos.

mv helloworld.py main.py

Renombra el archivo helloworld.py a main.py.

También podemos renombrar el directorio de forma similar.

mv Programs Python-Programs

Renombra el directorio Programs a Python-Programas.

Renombra múltiples archivos con el comando mv

Como sabemos, el comando mv sólo puede renombrar un archivo a la vez. Podríamos usar los bucles for o while para renombrar varios archivos.

for f in *.png; do 
    mv -- "$f" "${f%.png}.jpg"
done

Renombra todos los archivos del directorio actual con una extensión de .png a .jpg.

Renombra los archivos y directorios usando el comando rename

El comando rename es un poco más avanzado que el comando mv y puede ser usado para renombrar múltiples archivos en un solo paso.

Para instalar la versión Perl del comando rename en Ubuntu y Debian, usa el comando:

sudo apt install rename

Para instalar la versión Perl del comando rename en CentOS y Fedora, use el comando:

sudo yum install prename

Para instalar la versión Perl del comando rename en Arch Linux, usa el comando:

yay perl-rename ## or yaourt -S perl-rename

Sintaxis del comando rename:

rename [options] 's/old/new/' files

Ejemplo: Renombrar archivos con el comando rename

rename 's/.png/.jpg/' *.png

Renombra todos los archivos .png del directorio actual a .jpg.

Para imprimir los nombres de los archivos renombrados, usamos la opción -v en el comando rename.

rename -v 's/.jpg/.png/' *.jpg

Resultado:

1.jpg renamed as 1.png
bubbleheads.jpg renamed as bubbleheads.png
demo.jpg renamed as demo.png
hiss.jpg renamed as hiss.png
invoice.jpg renamed as invoice.png

Renombra todos los archivos .jpg del directorio actual a .png, e imprime cada archivo renombrado en la terminal.

Ejemplo: Convertir nombres de archivos a minúsculas

rename 'y/A-Z/a-z/' *

Convierte todos los alfabetos del nombre de archivo en mayúsculas en el directorio actual a minúsculas.

Ejemplo: Convertir nombres de archivos a mayúsculas

rename 'y/a-z/A-Z/' *

Convierte a mayúsculas todos los alfabetos del nombre de archivo en minúsculas en el directorio actual.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Linux Files and Directories