En otros entornos de sistemas operativos, la creación y el uso de nombres de archivo con espacios se permite de forma irrevocable. 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 presencia de los siguientes nombres de archivo en un entorno de sistema operativo Linux.
De acuerdo con la vista de línea de comandos de estos nombres de archivo, procesarlos o moverlos se convierte en un inconveniente injustificado debido a los espacios en su convención de nomenclatura.
Además, los espacios de nombres de archivos en Linux son una desventaja para los usuarios que los procesan como una cadena a través de aplicaciones basadas en web. %20
tienden a incluirse como parte del nombre de archivo procesado/final.
Este artículo analiza enfoques válidos para ayudarlo a eliminar espacios en los nombres de archivo mientras trabaja en un entorno de sistema operativo Linux.
Tabla de Contenidos
condición previa
Familiarícese con el uso de la terminal de Linux o la interfaz de línea de comandos. Para facilitar la referencia, utilizaremos los nombres de archivo con espacios que se muestran en la siguiente captura de pantalla.
1. Eliminar espacios de nombres de archivo con ciertas extensiones de archivo
El comando find se combina con el comando mv para realizar de manera efectiva su objetivo funcional de eliminar espacios de un nombre de archivo con una extensión de archivo específica, p. .xml
archivos
$ find . -type f -name "* *.xml" -exec bash -c 'mv "$0" "${0// /_}"' {} \;
2. Reemplazar los espacios de nombre de archivo con el comando de cambio de nombre
Alternativamente use en su lugar Encontrar Con m.v. Comandos para rastrear y reemplazar espacios de nombres de archivos, podríamos usar uno solo rebautizar comando, que es una extensión de Pearl 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 rebautizar El comando se puede utilizar de la siguiente manera:
$ rename 's/\s/_/g' ./*.xml
El comando anterior reemplaza los espacios en todos .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. Reemplazar los espacios de nombre de archivo con el comando for loop y mv
Este enfoque es efectivo para eliminar espacios de nombres de archivo en diferentes formatos de nombre de archivo que existen en una carpeta/directorio de destino determinado. Ese en bucle La función consulta los espacios de nombres de archivos dentro de un directorio/carpeta de destino y luego reemplaza estos espacios de nombres de archivos 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 para contrarrestar tales inconvenientes.