GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo quitar todos los caracteres de espacio en blanco de un archivo de texto

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.


Linux
  1. ¿Cómo eliminar líneas duplicadas dentro de un archivo de texto?

  2. ¿Cómo eliminar "datos binarios" de un archivo de texto (por ejemplo, Bash_history)?

  3. ¿Eliminar eficientemente el primer par de líneas de un archivo de texto?

  4. ¿Cómo quitar el Bom de un archivo Utf-8?

  5. Eliminar líneas pares o impares de un archivo de texto

Cómo quitar la contraseña de un archivo PDF en Linux

Cómo mostrar datos de un archivo de texto en Linux

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

Cómo quitar líneas de un archivo usando el comando Sed

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

¿Cómo eliminar Swap Space de Centos 7.x?