Cambiar el nombre de los directorios es una de las operaciones más básicas que a menudo necesita realizar en un sistema Linux. Puede cambiar el nombre de los directorios desde el administrador de archivos GUI con un par de clics o usando el terminal de línea de comandos.
Este artículo explica cómo cambiar el nombre de los directorios mediante la línea de comandos.
Renombrar directorios #
En los sistemas operativos Linux y similares a Unix, puede usar el mv
(abreviatura de mover) comando para cambiar el nombre o mover archivos y directorios de una ubicación a otra.
La sintaxis del mv
El comando para mover directorios es el siguiente:
mv [OPTIONS] source destination
Por ejemplo, para cambiar el nombre del directorio dir1
como dir2
ejecutarías:
mv dir1 dir2
Al cambiar el nombre de los directorios, debe especificar exactamente dos argumentos para mv
dominio. El primer argumento es el nombre actual del directorio y el segundo es el nuevo nombre.
Es importante notar que si dir2
ya existe, dir1
se mueve al dir2
directorio.
Para cambiar el nombre de un directorio que no está en el directorio de trabajo actual, debe especificar la ruta absoluta o relativa:
mv /home/user/dir1 /home/user/dir2
Renombrar Múltiples Directorios #
Cambiar el nombre de un solo directorio es una tarea sencilla, pero cambiar el nombre de varios directorios a la vez puede ser un desafío, especialmente para los nuevos usuarios de Linux.
Rara vez es necesario cambiar el nombre de varios directorios a la vez.
Renombrar Múltiples Directorios con mv
#
El mv
El comando puede cambiar el nombre de un solo archivo a la vez. Sin embargo, se puede usar junto con otros comandos como find
o bucles internos para cambiar el nombre de varios archivos a la vez.
Aquí hay un ejemplo que muestra cómo usar Bash for
bucle para agregar la fecha actual a los nombres de todos los directorios en el directorio de trabajo actual:
for d in *; do
if [ -d "$d" ]; then
mv -- "$d" "${d}_$(date +%Y%m%d)"
fi
done
Analicemos el código línea por línea:
- La primera línea crea un bucle y recorre una lista de todos los archivos.
- La segunda línea comprueba si el archivo es un directorio.
- La tercera línea añade la fecha actual a cada directorio.
Aquí hay una solución para la misma tarea usando mv
en combinación con find
:
find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;
El find
el comando pasa todos los directorios a mv
uno por uno usando el -exec
opción. La cadena {}
es el nombre del directorio que se está procesando actualmente.
Como puede ver en los ejemplos, cambiar el nombre de varios directorios con mv
no es una tarea fácil ya que requiere un buen conocimiento de Bash scripting.
Renombrar múltiples directorios con rename
#
El rename
El comando se utiliza para cambiar el nombre de varios archivos y directorios. Este comando es más avanzado que mv
ya que requiere un conocimiento básico de expresiones regulares.
Hay dos versiones de rename
Comando con diferente sintaxis. Usaremos la versión Perl de rename
dominio. Los archivos se renombran de acuerdo con la expresión regular de perl proporcionada.
El siguiente ejemplo muestra cómo reemplazar espacios en los nombres de todos los directorios en el directorio de trabajo actual con guiones bajos:
find . -mindepth 1 -prune -type d | rename 'y/ /_/'
Para estar seguro, pase -n
opción para rename
para imprimir los nombres de los directorios a renombrar sin renombrarlos.
Aquí hay otro ejemplo que muestra cómo convertir nombres de directorios a minúsculas:
find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'
Conclusión #
Le mostramos cómo usar el mv
comandos para renombrar directorios.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.