Awk Trim espacios

“Cuando trabajas en la industria de TI, puedes encontrarte con miles de archivos que contienen muchas líneas de código o grandes cantidades de datos. Aunque los datos en sí mismos pueden contribuir al tamaño del archivo, los espacios también aumentan significativamente el tamaño. Debido al aumento del tamaño de los archivos, es posible que encuentre problemas al guardar estos archivos o transferirlos a sus colegas. Por lo tanto, es imperativo que los elimine para controlar mejor el tamaño del archivo, pero echemos un vistazo primero para comprenderlos en detalle».

Contenidos

¿Qué es el espacio en blanco?

El espacio en blanco es el espacio entre dos caracteres imprimibles. Puede estar dentro de una línea horizontal o líneas divisorias verticales. En otras palabras, los espacios entre palabras, las líneas en blanco, la etiqueta nbsp y las tabulaciones pueden considerarse espacios. Los espacios en blanco al principio y/o al final de la línea también se consideran espacios en blanco. Para preservar la integridad de los datos, los programadores terminan escribiendo código que se encarga de eliminar estos espacios al guardar los datos. Los siguientes casos pueden conducir a la eliminación del espacio:

  • Reformateo/refactorización del código fuente
  • datos limpios
  • Simplifique toda la salida de la línea de comandos
  • reducir el tamaño del archivo

Es posible eliminar espacios manualmente si el archivo contiene un puñado de líneas de datos. Sin embargo, si el archivo contiene cientos de líneas, puede resultar muy difícil eliminarlas manualmente. Para superar esto, podemos usar las muchas herramientas de línea de comandos a nuestra disposición, p. B. sed, cut, tr y awk. De estos, awk es el comando más poderoso. Examinémoslo más a fondo.

¿Qué es Awk?

Awk es un lenguaje de secuencias de comandos muy potente que se utiliza para la manipulación y elaboración de informes de datos. El comando awk es la abreviatura de las iniciales de los tres creadores Aho, Weinberger y Kernighan. Entre otras cosas, Awk permite a sus usuarios definir variables, cadenas, funciones numéricas y operadores aritméticos, así como crear informes formateados. En este artículo, exploraremos el uso del comando awk para recortar espacios de sus archivos. Después de leer la guía, sabrá cómo:

  • Recorte todos los espacios en cada archivo.
  • Recorta los espacios iniciales y finales.
  • Recorte todos los espacios iniciales.
  • Recorte los espacios finales.
  • Reemplace múltiples espacios con un solo espacio.

Los escenarios que se muestran en este artículo se ejecutan en el sistema Ubuntu 22.04 Jammy Jellyfish. Estos comandos también se pueden ejecutar en otras distribuciones.

archivo de muestra

Para este tutorial, usaremos un archivo de texto llamado «asd.txt». El contenido del marcador de posición del archivo de muestra se ve así:

Bueno, comencemos.

¿Cómo puede mostrar todos los espacios en su archivo?

Para comprender mejor los espacios, primero veamos cómo podemos identificar espacios en un archivo. Para hacer esto, debe canalizar la salida del comando cat a través del comando tr como tal: $cat asd.txt | tr » » «*» | tr «\t» «&» Este comando reemplaza los espacios con asteriscos y las tabulaciones con espacios «&» Símbolo. Una vez que esto se ejecuta, puede ver todos los espacios en su archivo como tales:

Ahora exploremos usando el comando awk.

Recortar todos los espacios

Para nuestro primer escenario, eliminemos todos los espacios de nuestro archivo de muestra. Para lograr esto, necesitamos canalizar la salida del comando cat al comando awk como tal: $ cat asd.txt | awk ‘{ gsub(/ /,»»); imprimir }’ Aquí:

  • gsub significa sustitución global y se usa para reemplazar espacios.
  • Las barras dobles (/ /) representan los espacios.
  • «» Las comillas dobles se utilizan para acortar las cadenas.

Entonces, con el comando anterior, reemplazamos todos los espacios (/ /) con nada («»). Con el resultado del comando anterior, puede ver que se han eliminado todos los espacios.

Recorte los espacios iniciales y finales de su documento

De la última salida podemos ver que se han eliminado los espacios, dejando tabulaciones y líneas en blanco. Podemos actualizar el comando utilizado en el último ejemplo para incluir espacios iniciales y finales, así como tabulaciones como tales: $cat asd.txt | awk ‘{gsub(/^[ \t]+|[ \t]+$/, «»); para presionar }’

Puede usar elementos del comando anterior para verificar que se hayan eliminado los espacios iniciales y finales. $cat asd.txt | awk ‘{sub(/^[ \t]+|[ \t]/, «»); imprimir }’ | tr » » «*» | tr «\t» «&»

Estos son los comandos que puede usar para eliminar estos espacios uno a la vez.

Eliminar solo los espacios iniciales

$cat asd.txt | awk ‘{sub(/^[ \t]+/, «»); para presionar }’

Eliminar solo los espacios finales

$cat asd.txt | awk ‘{sub(/[ \t]+$/, «»); para presionar }’

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

Para reemplazar múltiples espacios con uno solo o nada, puede usar el comando awk como tal: $cat asd.txt | awk ‘{gsub(/[ ]+/,»»); para presionar }’

Usando el comando tr, podemos ver que los espacios han sido eliminados.

Conclusión

Entonces, con estas demostraciones, exploramos diferentes formas en que podemos usar el comando awk para recortar los espacios. Eliminarlos puede ser útil por varias razones. Si encuentra algún problema al usarlo, no dude en contactarnos a través de la sección de comentarios a continuación y estaremos encantados de ayudarle.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.