Trabajar con una distribución de sistema operativo Linux le brinda una perspectiva única de cuán alterable puede ser el mundo de la computación. Por ejemplo, deshacerse de los espacios en blanco en los archivos de texto puede sonar como una tarea tediosa a menos que esté usando Linux como su sistema operativo principal.
Los espacios en blanco no son solo horizontales como el espaciado de las palabras en este artículo u otros caracteres imprimibles. Los espacios en blanco también existen como espaciado vertical de líneas y/o párrafos. Entonces, ¿por qué eliminar los espacios en blanco? La razón principal es desinfectar la perspectiva de su archivo de texto objetivo.
Archivo de texto de referencia
Considere el siguiente archivo de texto de muestra.
$ sudo nano sample_file.txt
Según la captura de pantalla anterior, evidentemente podemos notar que el archivo de texto muestra síntomas de caracteres de espacio en blanco verticales y horizontales. Podemos usar el comando cat más el -n
opción para abrir este archivo en una vista numerada.
$ cat -n sample_file.txt
Los caracteres de espacio en blanco obvios que se muestran en un archivo de texto incluyen espacios, tabulaciones y saltos de línea. Para eliminar todos estos espacios en blanco, consideraremos la ayuda y el uso de tres comandos incorporados de Linux.
Método 1:usar el comando tr
El comando tr tomará el archivo de texto anterior como su entrada, traducirá el contenido del archivo de texto, eliminará los caracteres de espacio en blanco y luego volverá a escribir en el archivo una salida de caracteres que no sean espacios en blanco.
Sin embargo, debemos proporcionar el comando tr con requisitos de ejecución específicos, es decir, si se eliminan los espacios en blanco horizontales, los espacios en blanco verticales o ambos.
Eliminar caracteres de espacio en blanco horizontales en el archivo
Usaremos el "[:blank:]"
opción de carácter como parte de un comando y luego ejecutar el comando cat para imprimir el diseño final del archivo.
$ tr -d "[:blank:]" < sample_file.txt | cat -n
Según el resultado anterior, hemos eliminado con éxito los espacios en blanco horizontales del archivo de texto en Linux.
Eliminar todos los caracteres de espacio en blanco en el archivo
El "[:space:]"
La opción se utiliza para eliminar los caracteres de espacio en blanco horizontales y verticales de un archivo de texto.
$ tr -d "[:space:]" < raw_file.txt | cat -n
Método 2:usar el comando sed
Dado que el comando sed se implementa popularmente con expresiones regulares, podemos usarlo de la siguiente manera:
$ sed 's/[[:blank:]]//g' sample_file.txt | cat -n [Remove Horizontal Spaces] $ sed ':a; N; s/[[:space:]]//g; ta' sample_file.txt | cat -n [Remove All Spaces]
Método 2:usar el comando awk
Esta potente utilidad de procesamiento de texto hace uso de su secuencia de comandos similar a C y otras funciones y variables integradas para manipular el procesamiento de texto de manera flexible.
Utilizaremos su función gsub de la siguiente manera para eliminar los espacios en blanco horizontales.
$ awk '{gsub(/[[:blank:]]/,""); print}' sample_file.txt | cat -n
Para eliminar todos los espacios en blanco de un archivo de texto, haremos la siguiente modificación al comando anterior:
$ awk -v ORS="" '{gsub(/[[:space:]]/,""); print}' sample_file.txt | cat -n
Con los tres enfoques de comandos de Linux discutidos anteriormente, deshacerse de los espacios en blanco no deseados en sus archivos de texto en Linux no debería ser un problema.