Introducción

Linux proporciona varias opciones para cambiar el nombre de archivos, incluido el uso de la interfaz gráfica de usuario y varios comandos de terminal dedicados. Esto hace que sea relativamente fácil cambiar el nombre de archivos individuales, pero puede ser difícil cambiar el nombre de varios archivos a la vez.

En este tutorial, repasaremos diferentes comandos que puede usar en el terminal Linux para cambiar el nombre de los archivos en Linux.

Cómo cambiar el nombre de archivos en Linux

Requisitos previos

  • Un sistema que ejecuta una distribución Linux
  • Una cuenta con privilegios sudo
  • Acceso a la ventana de terminal/línea de comandos
  • Acceso a un editor de texto, como Vim o Nano

Renombrar archivos con el comando mv

el comando 3907> (mover) se utiliza para mover archivos y directorios desde el terminal. Utiliza la siguiente sintaxis:

mv 

Si especifica un directorio como destino al usar el comando mv, el archivo de origen se mueve a ese directorio. Si el destino es otro nombre de archivo, el comando mv cambia el nombre del archivo de origen a ese nombre.

Nota: Obtenga más información sobre el uso del comando mv en nuestra guía para mover directorios en Linux.

Cambiar el nombre de un solo archivo con el Comando mv

El uso del comando mv con su sintaxis predeterminada le permite cambiar el nombre de un solo archivo:

mv 

Por ejemplo, si queremos cambiar el nombre de example1.txt en el ejemplo2.txt, usaríamos:

mv example1.txt example2.txt

Dado que no hay salida si el comando tiene éxito, estamos utilizando el comando ls para verificar si se ha cambiado el nombre:

ls -l
Cambiar el nombre de un solo archivo mediante el comando mv

Cambie el nombre de varios archivos con el comando mv

Por sí solo, el comando mv cambia el nombre de un solo archivo. Sin embargo, combinarlo con otros comandos le permite cambiar el nombre de varios archivos al mismo tiempo.

Un método es usar el comando find para seleccionar varios archivos con un nombre similar, luego use el comando mv para cambiarles el nombre:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

Usando esta sintaxis, el comando find define un elemento del nombre de archivo actual como el parámetro de búsqueda. A continuación, -exec ejecuta el comando mv en cualquier archivo que coincida con la búsqueda, cambiando sus nombres de archivo actuales al nuevo.

Por ejemplo, si tenemos ejemplo1.txt, ejemplo2.txt, y ejemplo3.txt y desea cambiar la extensión a .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
Cambiar el nombre de varios archivos mediante los comandos find y mv

Otro método es usar el comando mv como parte de un bucle <strong>for</strong> en un script bash.

Con el mismo ejemplo, comience creando y abriendo un archivo de script bash con un editor de texto como Nano:

sudo nano rename_files.sh

Nota: Obtenga más información sobre el uso de scripts bash para administrar archivos y directorios en Linux.

Agregue las siguientes líneas al script:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

En el guión de arriba:

  • La primera línea indica al script que busque todos los archivos del directorio actual que terminan con.txt.
  • La segunda línea utiliza el comando mv en cada archivo encontrado para reemplazar el .extensión txt con .pdf.
  • La tercera línea termina el segmento de bucle.

Presione Ctrl + X, luego escriba Y y presione Entrar para guardar los cambios en el script y salir.

Utilice el comando sh para ejecutar el script:

sh rename_files.sh
Renombrar varios archivos mediante un script bash

Renombrar archivo con el comando renombrar

El comando rename se utiliza para renombrar varios archivos o directorios en Linux. Ofrece más funciones que el comando mv, pero puede ser más difícil de usar, ya que requiere conocimientos básicos de expresiones Perl.

Cómo instalar el comando renombrar

En muchas distribuciones de Linux, el comando rename no está disponible de forma predeterminada. Si a su sistema le falta el comando rename, instálelo con:

  • Para Ubuntu y Debian, use sudo apt install rename
  • Para CentOS y Fedora, use sudo yum install prename
  • Para Arch Linux, use sudo pacman -S rename

rename Sintaxis y Opciones de comandos

Hay tres tipos de expresiones regulares de Perl: y traducir. El comando rename utiliza expresiones de sustitución y traducción para cambiar los nombres de archivos y directorios.

Expresiones sustitutivas sustituyen una parte del nombre de archivo por una cadena diferente. Utilizan la siguiente sintaxis:

rename 's///' 

Con esta sintaxis, el comando cambia el nombre del archivo reemplazando la primera aparición del elemento filename por el reemplazo. En el comando anterior:

  • rename: Invoca el comando renombrar.
  • : Proporciona un argumento opcional que cambia la forma en que se ejecuta el comando.
  • s: Indica una expresión sustituta.
  • : Especifica la parte del nombre de archivo que desea reemplazar.
  • : Especifica un reemplazo para la parte del nombre de archivo actual.
  • : Define el archivo que desea renombrar.

Una expresión de traducción traduce una cadena de caracteres a otra, carácter por carácter. Este tipo de expresión utiliza la siguiente sintaxis:

rename 'y///' 

Un ejemplo de un comando rename que utiliza una expresión translate:

rename 'y/abc/xyz/'

En este ejemplo, cada carácter a en el nombre de archivo se reemplaza por una x, cada b por una y y cada c por una z.

El comando cambiar nombre utiliza las siguientes opciones:

  • -a: Reemplaza todas las ocurrencias del elemento filename en lugar de solo el primero.
  • -f: Fuerza la sobreescritura de archivos existentes.
  • -h: Muestra el texto de ayuda.
  • -i: Muestra un mensaje antes de sobrescribir archivos existentes.
  • -l: Reemplaza la última aparición del elemento filename en lugar de la primera.
  • -n: Realiza un simulacro, sin realizar cambios permanentes. Mejor combinado con la salida detallada (-v).
  • -s: Cambia el nombre del destino en lugar del enlace simbólico.
  • -v: Muestra una versión detallada de la salida.
  • -V: Muestra la versión del comando.

renombrar ejemplos de comandos

1. Cambiar la extensión de archivo

Volviendo a nuestro último ejemplo, para cambiar la extensión de archivo .txt a .pdf, uso:

rename -v 's/.txt/.pdf/' *.txt
Uso del comando renombrar para reemplazar la extensión de archivo

2. Reemplazar una Parte de un nombre de archivo

Reemplazar una parte diferente del nombre de archivo sigue la misma sintaxis. Para cambiar el nombre del ejemplo1.txt, ejemplo2.txt, y ejemplo3.txt a test1.txt, test2.txt, y texto3.txt, uso:

rename -v 's/example/test/' *.txt
Renombrar varios archivos con el comando renombrar

3. Eliminar una parte de un nombre de archivo

La opción rename también le permite eliminar una parte del nombre de archivo omitiendo la parte de reemplazo de la expresión. Por ejemplo, si queremos acortar el ejemplo a ex:

rename -v 's/ample//' *.txt
Eliminar una parte del nombre del archivo con el comando renombrar

4. Renombrar archivos con Nombres similares

Otro uso de la opción rename es renombrar archivos con nombres similares. Por ejemplo, si queremos cambiar el nombre de los archivos con ejemplo y muestra en su nombre para probar:

rename -v 's/(ex|s)ample/test/' *.txt
Cambiar el nombre de varios archivos con nombres similares mediante el comando cambiar nombre

5. Renombrar archivos Carácter por carácter

El comando rename también le permite usar expresiones de traducción para renombrar archivos carácter por carácter. Por ejemplo, si desea cambiar el nombre de varios archivos con el nombre de archivo de ejemplo reemplazando el espacio en blanco con un guion bajo (_):

rename -v 'y/ /\_/' *.txt
Eliminar espacios en blanco de los nombres de archivo con el comando renombrar

6. Convertir caracteres en minúsculas

Para convertir caracteres en minúsculas en nombres de archivo, utilice:

rename -v 'y/a-z/A-Z/' *.txt
Conversión de nombres de archivo de minúsculas a mayúsculas con el comando renombrar

7. Convertir caracteres mayúsculas

El reverso también funciona si cambiamos el orden de los caracteres mayúsculas y minúsculas en la expresión:

rename -v 'y/A-Z/a-z/' *.TXT
Conversión de nombres de archivo de mayúsculas a minúsculas con el comando renombrar

Nota: Tenga cuidado al cambiar la mayúscula de caracteres, ya que esto también cambia la extensión del archivo.

Conclusión

Después de leer este tutorial, debería poder cambiar el nombre de los archivos utilizando los comandos mv y rename en Linux.

Obtenga más información sobre el uso de comandos de Linux en nuestra Hoja de trucos de Comandos de Linux.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.