Adam the Automator

¿Es nuevo en el sistema operativo Linux? Si es así, las tareas comunes, como el cambio de nombre de archivos y carpetas, pueden ser diferentes a lo que está acostumbrado. Pero no te preocupes. El concepto de renombrar archivos en Linux es similar a como se hace en otros sistemas operativos.

En este tutorial, aprenderá muchas maneras de cambiar el nombre de archivos individuales y múltiples en Linux, tanto a través de la interfaz gráfica de usuario como ejecutando comandos en una terminal.

¡Comencemos!

Tabla de Contenidos

Requisitos previos

Para seguir este tutorial, asegúrese de tener lo siguiente:

  • Este tutorial utiliza Ubuntu 18.04 LTS, pero otras distribuciones de Linux funcionarán.
  • Una cuenta con acceso sudo / administrador.

Cambiar el nombre de los archivos con el Administrador de archivos

Si está acostumbrado a administrar archivos a través de la interfaz gráfica de usuario, comencemos este tutorial para cambiar el nombre de los archivos con un administrador de archivos. Los administradores de archivos GUI son impecables, ya que puede ver los archivos a la vista. Uno de esos gestores de archivos disponibles en Linux es el antiguo gestor de archivos de GNOME, Nautilus. Este tutorial muestra cómo cambiar el nombre de los archivos utilizando el administrador de archivos Nautilus.

Los otros administradores de archivos de Linux son Konqueror, Dolphin, Krusader, Thunar, administrador de archivos Nemo y administrador de archivos Sunflower. Estos administradores de archivos realizan la misma tarea, pero el cambio de nombre de archivos o directorios puede ser ligeramente diferente.

Inicie su terminal y, a continuación, ejecute el siguiente comando para instalar Nautilus (install nautilus) con el administrador de paquetes apt si aún no lo tiene en su máquina. El comando sudo eleva el comando con derechos sudo / administrador.

sudo apt install nautilus

Cambiar el nombre de un solo archivo

Cambiar el nombre de un solo archivo en Nautilus solo requiere unos pocos clics, como en el Explorador de archivos de Windows.

Para cambiar el nombre de un solo archivo, abra Nautilus, haga clic con el botón derecho en el archivo que desea cambiar el nombre y elija Cambiar el nombre, como se muestra a continuación.

Este ejemplo se centra en el cambio de nombre de archivos, pero el proceso es el mismo para cambiar el nombre de archivos y directorios.

Cambiar el nombre de un Solo archivo
Cambiar el nombre de un solo archivo

Ahora escriba el nuevo nombre de archivo para reemplazar el nombre de archivo original, presione Entrar o haga clic en Renombrar, y eso es todo.

Introducir Un Nuevo Nombre de Archivo
Introducir Un Nuevo Nombre de Archivo

Renombrar varios archivos usando Nautilus File Manager

Al igual que Windows, Ubuntu le ofrece más opciones sobre cómo desea cambiar el nombre de varios archivos a la vez.

Para cambiar el nombre de varios archivos, seleccione todos los archivos que desee cambiar, haga clic con el botón derecho en cualquiera de ellos y elija Cambiar nombre. Aparecerá una ventana emergente donde podrá elegir cómo desea cambiar el nombre de los archivos que seleccionó.

Renombrar Varios Archivos Usando Nautilus.
Cambiar El Nombre De Varios Archivos Mediante Nautilus.

A continuación, hay dos opciones para elegir según cómo desee cambiar el nombre de los archivos seleccionados.

  • Cambiar el nombre mediante una plantilla: esto le permite cambiar el nombre de los archivos en incrementos.
  • Buscar y reemplazar texto: Le permite buscar y reemplazar ciertos textos en nombres de archivos.

Cambiar el nombre de los archivos mediante una plantilla

Para cambiar el nombre de los archivos mediante una plantilla, seleccione la opción Cambiar el nombre mediante una plantilla.

Ahora ingrese el nombre de reemplazo en el campo vacío para cambiar el nombre de los archivos con una plantilla, y haga clic en el botón +Agregar y elija entre las plantillas. Para este tutorial, seleccione el primero (1,2,3,4) y haga clic en Cambiar nombre. Esta opción agrega números incrementales a cada archivo después del nombre de archivo de reemplazo (Text1, Text2, Text).

Renombrar archivos usando una plantilla
Renombrar archivos usando una plantilla

Observe que los nombres de archivo cambiaron a Texto, seguido de números incrementales.

Verificación de Nombres de Archivo Cambiados a "Texto" con Num Incremental
Verificación de Nombres de Archivo Cambiados a «Texto» con Num Incremental

Buscar y reemplazar palabras en los Nombres de archivo

Para cambiar el nombre de varios archivos con un nombre de archivo específico, seleccione la opción Buscar y reemplazar texto.

Ingrese el texto en el campo de Texto Existente y el texto de reemplazo en el campo Reemplazar con, luego haga clic en Cambiar nombre para reemplazar el texto. Esta opción encuentra y reemplaza ciertos textos en los nombres de archivo.

Sustitución de Textos en Nombres de Archivo
Sustitución de Textos en Nombres de Archivo

Ahora, puede ver a continuación que ha reemplazado la palabra «Texto» por «Archivo» en cada nombre de archivo.

La verificación de la palabra "Texto" fue reemplazada por la palabra "Archivo" en Cada archivo
La verificación de la palabra «Texto» fue reemplazada por la palabra «Archivo» en Cada archivo

Renombrar archivos con el comando mv

Si lo tuyo es ejecutar comandos en lugar de navegar en una interfaz gráfica de usuario, prepárate para aprender a renombrar archivos en una terminal. Cambiar el nombre de los archivos en el terminal Linux es similar a hacerlo en otros entornos de línea de comandos, como PowerShell. Ejecute los comandos para cambiar el nombre del archivo original por el nombre del archivo de destino, y eso es todo.

Hay dos escenarios para cambiar el nombre de un archivo. La primera es cambiar el nombre de un archivo desde el directorio de trabajo, y la segunda es especificando la ruta de acceso completa. Eche un vistazo a la sintaxis de comandos mv a continuación para cambiar el nombre de un archivo, donde source es el nombre original y destination es el nombre de reemplazo.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

Cambiar el nombre de un solo archivo con el Comando mv

Aunque la sintaxis del comando mv aún está fresca en su mente, intentemos cambiar el nombre de un solo archivo.

Para demostrar cómo cambiar el nombre de un solo archivo y directorio:

1. Inicie su terminal y, a continuación, ejecute la serie de comandos a continuación para crear un directorio y dos archivos de texto.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. A continuación, ejecute el comando ls para listar los archivos dentro del directorio de trabajo. A continuación, puede ver ese file1.txt y file2.txt existe en el directorio ~/test.

Listar Archivos en el Directorio de trabajo
Listar archivos en el Directorio de trabajo

3. Ejecute cualquiera de los comandos mv a continuación para renombrar file1.txt como file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

Cambiar el nombre de un directorio es lo mismo que cambiar el nombre de un archivo, así: mv ~/test ~/demo. El símbolo ~ denota el directorio personal.

4. Por último, vuelva a ejecutar el comando ls para listar los archivos en el directorio de trabajo.

A continuación, puede ver ese file1.txt ahora pasa a llamarse file10.txt.

Confirmando archivo1.txt pasa a llamarse file10.txt
Archivo de confirmación1.txt pasa a llamarse file10.txt

Cambiar el nombre de varios archivos con un Bucle For

Si está demasiado ocupado con otras tareas y desea cambiar el nombre de todos los archivos de una sola vez, deberá usar una instrucción de bucle for como la siguiente.

Copie el siguiente código tal cual, péguelo en su terminal y presione Entrar. El siguiente código escanea cada archivo de texto en el directorio de trabajo y cambia el nombre de los archivos por «Archivo» seguido de un número incremental.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

Pegar el código en su terminal funciona bien, pero como buena práctica, es mejor si crea un archivo de script para ejecutar en su lugar.

A continuación, puede ver en acción cómo el código cambia el nombre de todos los archivos.

Renombrar Archivos con un Bucle For
Renombrar archivos con un Bucle For

Cambiar el nombre de archivos en Linux con la utilidad de cambio de nombre

Si está cambiando el nombre de un solo archivo en su rutina diaria, entonces el comando mv será suficiente. Pero tal vez usted está tratando de cambiar el nombre de varios archivos con el mismo patrón a la vez? Por ejemplo, cambiar el nombre de los archivos que comienzan con una palabra (archivo) determinada. En ese caso, instale la utilidad renombrar en su lugar.

La utilidad renombrar cambia el nombre de varios archivos, cambia los formatos de nombres de archivo y sobrescribe archivos.

Para instalar la utilidad de cambio de nombre, ejecute cualquiera de los siguientes comandos dependiendo de la distribución de Linux en la que esté trabajando.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

Puede ver a continuación la sintaxis de comandos rename.

rename <options> <perlexpr> <files>

Cambiar el nombre de varios archivos

Con la sintaxis de comandos rename en mente, ahora puede cambiar el nombre de los archivos que tienen el mismo patrón. Lo bueno del comando rename es que no necesita declarar una función de bucle para cambiar el nombre de varios archivos como lo hizo en la sección «Cambiar el nombre de varios archivos con un Bucle For».

Tal vez desee cambiar el nombre de los archivos con ciertas palabras en ellos. Si es así, eche un vistazo a la expresión regular Perl ('s/file/myfile/') en el comando de ejemplo a continuación. Las expresiones regulares de Perl definen un patrón de cadena basado en el lenguaje de programación Perl.

Para evitar cambiar el nombre de otros archivos por error, enumere todos los archivos afectados antes de cambiarlos de nombre agregando la opción -n, como se muestra a continuación.

rename -n 's/file/myfile/' *.txt
Listado De Archivos Afectados Antes De Renombrar
Listado De Archivos Afectados Antes De Renombrar

Ahora ejecute cualquiera de los comandos rename a continuación para reemplazar la palabra file por myfile en el nombre de cada archivo de texto dentro del directorio de trabajo o en el directorio ~/test/*.txt.

En la expresión Perl ('s/file/myfile/'), s denota sustitución, lo que significa que está cambiando el nombre de los archivos. Observe que la opción -v se agrega para devolver los archivos a los que el comando cambió el nombre.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

A continuación, puede ver que cada palabra » archivo «en los archivos de texto se cambia el nombre a «archivo mío».»

Renombrar archivos a con el comando renombrar
Renombrar archivos a con el comando rename

Si prefiere cambiar el nombre de todos los archivos, elimine la extensión de archivo cuando especifique la ruta de acceso del archivo, por ejemplo, rename -v 's/file/myfile/' ~/test/*

Cambio de extensiones de archivo

Además de los nombres de archivo, el comando rename también cambia el nombre de las extensiones de archivo. Tal vez haya creado archivos con la extensión de archivo incorrecta. En ese caso, especificará la extensión de archivo que desea cambiar en una expresión Perl cuando ejecute el comando rename.

Ejecute el comando rename a continuación para cambiar la extensión de todos los archivos (*) de .txt a .html en el directorio ~/test. El símbolo $ de la expresión Perl coincide con el final de una cadena (.txt) para cada nombre de archivo, por lo que el comando solo cambia las extensiones de archivo .txt. Y al igual que con el cambio de nombre de varios archivos, agregue la opción -v para enumerar cada cambio que realice el comando.

rename -v 's/.txt$/.html/' *.txt

Para eliminar todas las extensiones de archivo en su lugar, elimine la cadena de reemplazo en la expresión Perl, de esta manera: rename -v 's/.txt$//' *.txt

Como se puede ver en la imagen de abajo, el .extensiones txt cambiadas a .html

Cambiar las Extensiones de archivo de .txt a .html
Cambiar Extensiones de archivo desde .txt a .html

Cambiar los nombres de archivo a Mayúsculas y Minúsculas

En lugar de extensiones de archivo incorrectas, es posible que esté tratando con nombres de archivo en minúsculas y viceversa. Tal vez esté tratando de encontrar un archivo específicamente en mayúsculas, sin saber que el nombre del archivo está en minúsculas.

Linux distingue entre mayúsculas y minúsculas, así que asegurémonos de que tiene las mayúsculas y minúsculas de cada nombre de archivo correctamente. Mayúsculas es básicamente la distinción de textos entre minúsculas y mayúsculas.

Ejecute cualquiera de los comandos rename a continuación para cambiar todos los nombres de archivo en minúsculas (a-z) en el directorio de trabajo (*) a mayúsculas (A-Z) y viceversa.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

Puede ver a continuación los dos resultados de cambiar un caso de letra de nombre de archivo.

Cambiar el Nombre del archivo de Minúsculas a Mayúsculas y Viceversa
Cambiar el Nombre del Archivo de Minúsculas a Mayúsculas y Viceversa

Reemplazar y Eliminar espacios en los Nombres de archivo

Al igual que la mayúscula de un nombre de archivo, es posible que tenga problemas para encontrar archivos si tienen espacios en sus nombres de archivo. Arreglemos eso reemplazando espacios con un carácter o eliminando los espacios por completo.

Ejecute el comando rename a continuación para reemplazar los espacios en todos los nombres de archivo con un guion bajo (_) en el directorio de trabajo. Dado que el guion bajo es un metacarácter, escápelo con una barra invertida (\_) para declarar el guion bajo literalmente. Los metacaracteres son caracteres especiales con significados especiales en un programa de computadora.

Observe que g en la expresión Perl le dice al comando que reemplace todas las coincidencias (espacios), y no solo la primera.

rename -v 's/ /\_/g' *

A continuación, puede ver que el comando reemplazó todos los espacios con guiones bajos.

Reemplazar espacios con guiones bajos en un nombre de archivo
Reemplazar espacios con guiones bajos en un nombre de archivo

Para eliminar todos los espacios de un nombre de archivo en lugar de rellenarlos con un carácter, ejecute el siguiente comando.

En la expresión Perl de abajo, el asterisco después del espacio en blanco (/ *) coincide con todas las ocurrencias de espacios en un nombre de archivo y no solo con el primero. El carácter de reemplazo está vacío (//), por lo que el comando rename elimina todos los espacios (g).

rename -v "s/ *//g" *

Ahora puede ver a continuación que todos los espacios se eliminan de cada nombre de archivo.

Eliminar todos los espacios en los nombres de archivo
Eliminar todos los espacios en los nombres de archivo

Poner en mayúscula la Primera letra de Cada Palabra en un Nombre de archivo

Si prefiere mantener los espacios y poner en mayúscula la primera letra de cada palabra en un nombre de archivo, necesitará una expresión Perl más compleja. Eche un vistazo al comando de ejemplo a continuación.

La expresión de Perl a continuación coincide con cualquier carácter individual (\w) en un límite de palabra (\b) siempre que el carácter no sea un punto ni un apóstrofo (?<!). El comando rename traducirá esa letra a mayúsculas (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

A continuación, puede ver que cada palabra en los nombres de archivo comienza con una letra mayúscula mientras deja las extensiones de archivo intactas.

Primera Letra en Mayúscula de Cada Palabra en Nombres de Archivo
Primera Letra en Mayúscula de Cada Palabra en Nombres de Archivo

Conclusión

A lo largo de este tutorial, ha aprendido muchas formas de cambiar el nombre de los archivos Linux a través de la interfaz gráfica de usuario y el terminal de línea de comandos. Ahora tiene una sólida comprensión de cómo manipular nombres para archivos individuales y múltiples a la vez.

¿Por qué no aprender scripts de shell de Linux y crear un script para automatizar el cambio de nombre de archivos en Linux?

Deja una respuesta

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