GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo quitar espacios de los nombres de archivo en Linux

En otros entornos de sistemas operativos, la creación y el uso de nombres de archivos con espacios están irrevocablemente permitidos. Sin embargo, cuando ingresamos al dominio del sistema operativo Linux, la existencia de dichos nombres de archivo se convierte en un inconveniente.

Por ejemplo, considere la existencia de los siguientes nombres de archivo dentro de un entorno de sistema operativo Linux.

Según la vista de la línea de comandos de estos nombres de archivo, procesarlos o moverlos se convierte en un inconveniente injustificado debido al espacio en blanco en su convención de nomenclatura.

Además, los espacios de nombre de archivo en Linux son una desventaja para los usuarios que los procesan a través de aplicaciones basadas en web como la cadena %20 tiende a incluirse como parte del nombre de archivo procesado/final.

Este artículo analiza enfoques válidos para ayudarlo a deshacerse de los espacios en los nombres de archivo mientras trabaja en un entorno de sistema operativo Linux.

Requisito previo

Familiarícese con el uso de la terminal de Linux o la interfaz de línea de comandos. Para fines prácticos de referencia, utilizaremos los nombres de archivo espaciados que se presentan en la siguiente captura de pantalla.

1. Eliminación de espacios del nombre de archivo con extensión de archivo específica

El comando find se combina con el comando mv para ejecutar efectivamente su objetivo funcional de eliminar espacios en un nombre de archivo con una extensión de archivo específica, por ejemplo, .xml archivos.

$ find . -type f -name "* *.xml" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

2. Reemplazo de espacios de nombre de archivo usando el comando de cambio de nombre

Alternativamente, en lugar de usar buscar con mv comandos para rastrear y reemplazar espacios de nombre de archivo, podríamos usar un solo rename comando, que es una extensión perla y se puede instalar en las siguientes distribuciones del sistema operativo Linux:

$ sudo apt install rename         [On Debian, Ubuntu and Mint]
$ sudo yum install rename         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/rename  [On Gentoo Linux]
$ sudo pacman -S rename           [On Arch Linux]
$ sudo zypper install rename      [On OpenSUSE]    

Una vez instalado, el renombrar El comando se puede utilizar de la siguiente manera:

$ rename 's/\s/_/g' ./*.xml

El comando anterior reemplazará los espacios en todos los .xml archivos con un guión bajo. Para reemplazar todos los espacios en todos los nombres de archivo, independientemente de la extensión del archivo, use:

 
$ rename 's/\s/_/g' ./*.* 

3. Reemplazo de espacios de nombre de archivo usando For Loop y mv Command

Este enfoque es efectivo para deshacerse de los espacios de nombre de archivo en diferentes formatos de nombre de archivo existentes en una carpeta/directorio específico/destinado. El bucle for consultas de función para espacios de nombre de archivo dentro de un directorio/carpeta de destino y luego reemplaza esos espacios de nombre de archivo con una notación de guión bajo.

Considere la siguiente implementación de este enfoque:

$ for f in *; do mv "$f" `echo $f | tr ' ' '_'`; done

Antes del comienzo de este artículo, los espacios de nombres de archivos eran una molestia, especialmente cuando necesita copiar y mover archivos desde la terminal de Linux o procesarlos a través de un programa basado en la web. Este tutorial ha proporcionado una solución viable que funciona contra tales inconvenientes.


Linux
  1. Cómo agregar o eliminar un usuario de un grupo en Linux

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. Cómo eliminar palabras duplicadas de un archivo de texto sin formato usando el comando de Linux

  4. Eliminar espacios en blanco de los nombres de archivo en Linux

  5. Cómo eliminar versiones anteriores de .NET Core de Linux (CentOS 7.1)

Cómo quitar un comando del historial en Linux

Cómo obtener el nombre de archivo de la ruta completa en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo desinstalar aplicaciones de Ubuntu Linux

Cómo desinstalar programas de Ubuntu Linux

Cómo abordar los nombres de archivo con espacios en Linux