Awk Trim Whitpace

Awk Trim Whitpace

"Cuando trabaja en la industria de TI, puede encontrar miles de archivos que contienen muchas líneas de código o grandes cantidades de datos. Aunque los datos en sí mismos podrían ser un factor que contribuye al tamaño del archivo, los espacios blancos también agravan el tamaño enormemente. Con el aumento del tamaño del archivo, puede encontrar problemas al almacenar estos archivos o transferirlos a sus colegas. Por lo tanto, es imperativo que los elimine para controlar mejor el tamaño del archivo, pero primero, echemos un vistazo para comprenderlos en detalle."

¿Qué es un espacio blanco??

Whitespace es el espacio entre dos caracteres imprimibles. Puede estar dentro de una línea horizontal o separar verticalmente líneas. En otras palabras, el espacio entre palabras, cualquier línea en blanco, la etiqueta NBSP junto con las pestañas se puede considerar como espacios blancos. Los espacios en blanco al comienzo y/o al final de las líneas también se consideran espacios en blanco.

Para preservar la cordura de los datos, los programadores terminan escribiendo código que es responsable de eliminar estos blancos al almacenar datos. Los siguientes casos pueden impulsar la eliminación de espacios en blanco:

  • Código fuente de reformateo/refactorización
  • Limpiar datos
  • Simplifique cualquier salida de línea de comandos
  • Reducir el tamaño del archivo

Es posible eliminar manualmente los espacios en blanco si hay un puñado de líneas de datos en el archivo. Pero, cuando el archivo contiene cientos de líneas, puede ser muy difícil eliminarlas manualmente. Para superar esto, podemos emplear las muchas herramientas de línea de comandos disponibles para nosotros, e.gramo., sed, corte, tr y awk. Fuera de estos, Awk es el comando más poderoso. Vamos a explorarlo más.

Que es AWK?

AWK es un lenguaje de secuencias de comandos muy potente utilizado para la manipulación de datos y la generación de informes. El comando AWK es la abreviatura de las primeras iniciales de cada uno de los tres creadores aho, Weinberger y Kernighan. AWK faculta a sus usuarios para definir variables, cadenas, funciones numéricas y operadores aritméticos, así como crear informes formateados, entre muchas otras.

En este artículo, exploraremos el uso del comando AWK para recortar espacios en blanco de sus archivos. Después de pasar por la guía, sabrá cómo:

  • Recortar todos los espacios en cualquier archivo.
  • Recorte los espacios principales y finales.
  • Recorte todos los espacios en blanco líderes.
  • Recorte todos los espacios en blanco.
  • Reemplace múltiples espacios con un solo espacio.

Los escenarios demostrados en este artículo se realizan en Ubuntu 22.04 Sistema de medusas Jammy. Estos comandos también son ejecutables en otras distribuciones.

Archivo de muestra

Para esta guía, utilizaremos un archivo de texto llamado "ASD.TXT". El contenido del marcador de posición del archivo de muestra se ve así:

Ahora, comencemos.

Cómo ver todos los espacios en blanco en su archivo?

Para comprender mejor los espacios en blanco, primero veamos cómo podemos identificar los espacios en blanco en un archivo. Para esto, debe abordar la salida del comando CAT a través del comando TR como tal:

$ Cat ASD.txt | TR "" "*" | tr "\ t" "&"

Este comando reemplazará los espacios con asteriscos y espacios de pestañas con el "&" símbolo. Tan pronto como se ejecute, podrá ver todos los espacios en blanco en su archivo como tal:

Ahora exploremos el uso del comando AWK.

Recorte de todos los espacios en blanco

Para nuestro primer escenario, eliminamos todos los espacios en blanco de nuestro archivo de muestra. Para lograr esto, necesitamos abordar la salida del comando CAT al comando AWK como tal:

$ Cat ASD.txt | awk 'gsub ( / /, ""); imprimir '

Aquí:

  • GSUB significa sustitución global, utilizada para sustituir los espacios en blanco.
  • Las barras de doble avance ( / /) representan el espacio en blanco.
  • "" Las citas dobles se utilizan para recortar las cuerdas.

Entonces, con el comando anterior, estamos sustituyendo todos los espacios en blanco ( / / /) sin nada (""). Con la salida del comando anterior, puede ver que se han eliminado todos los espacios en blanco.

Recorte de espacios en blanco y liderando de su documento de su documento

Desde la última salida, podemos ver que los espacios en blanco se han eliminado, dejando pestañas y líneas vacías. Podemos actualizar el comando utilizado en el último ejemplo para cuidar los espacios en blanco líder y finales junto con las pestañas como tales:

$ Cat ASD.txt | awk 'gsub (/^[\ t]+| [\ t]+$/, ""); imprimir '

Usando elementos del comando anterior, puede verificar que se hayan eliminado los espacios en blanco líder y el final.

$ Cat ASD.txt | awk 'sub (/^[\ t]+| [\ t]/, ""); imprimir '| tr "" "*" | tr "\ t" "&"

Estos son los comandos que puede usar para eliminar estos espacios por separado, respectivamente.

Eliminar solo los espacios en blanco líderes

$ Cat ASD.txt | awk 'sub (/^[\ t]+/, ""); imprimir '

Eliminar solo los espacios blancos

$ Cat ASD.txt | awk 'sub (/[\ t]+$/, ""); imprimir '

Bonificación: reemplace múltiples espacios con un solo espacio

Para reemplazar múltiples espacios con uno o nada, puede usar el comando AWK como tal:

$ Cat ASD.txt | awk 'gsub (/[]+/, ””); imprimir '

Usando el comando TR, podemos ver que los espacios en blanco se han eliminado.

Conclusión

Entonces, con estas demostraciones, hemos explorado varias formas en que podemos usar el comando AWK para recortar los espacios en blanco. Eliminarlos podría ser útil por varias razones.

Si se encuentra con algún problema, no dude en comunicarse con nosotros usando la sección de comentarios a continuación, y estaremos encantados de ayudar.