Awk

Espacio en blanco Awk Trim

Espacio en blanco Awk Trim
Como programador, es posible que deba trabajar con diferentes archivos para almacenar y manipular datos. Una tarea básica de manipulación de archivos consiste en eliminar los espacios en blanco de los archivos. Los espacios en blanco se componen de espacios, líneas en blanco, nbsp y tabulaciones. Los programadores a menudo necesitan eliminar los espacios en blanco para que solo se almacenen los datos necesarios y se puedan eliminar los espacios en blanco innecesarios. Los espacios en blanco pueden ser espacios iniciales (al comienzo de la línea) o finales (al final de la línea).

A continuación, se incluyen algunos escenarios en los que podría ser necesario eliminar los espacios en blanco:

Es posible eliminar los espacios en blanco manualmente si un archivo que contiene solo unas pocas líneas. Pero, para un archivo que contiene cientos de líneas, será difícil eliminar todos los espacios en blanco manualmente. Hay varias herramientas de línea de comandos disponibles para este propósito, incluidas sed, awk, cut y tr. Entre estas herramientas, awk es uno de los comandos más poderosos.

¿Qué es Awk??

Awk es un lenguaje de programación potente y útil que se utiliza en la manipulación de texto y la generación de informes. El comando awk se abrevia con las iniciales de cada una de las personas (Aho, Weinberger y Kernighan) que lo desarrollaron. Awk le permite definir variables, funciones numéricas, cadenas y operadores aritméticos; crear informes formateados; y más.

Este artículo explica el uso del comando awk para recortar espacios en blanco. Después de leer este artículo, aprenderá a usar el comando awk para realizar lo siguiente:

Los comandos de este artículo se realizaron en un Ubuntu 20.04 Sistema Focal Fossa. Sin embargo, los mismos comandos también se pueden ejecutar en otras distribuciones de Linux. Usaremos la aplicación Ubuntu Terminal predeterminada para ejecutar los comandos de este artículo. Puede acceder a la terminal usando el atajo de teclado Ctrl + Alt + T.

Para fines de demostración, usaremos el archivo de muestra llamado "sample.TXT."Para realizar los ejemplos proporcionados en este artículo.

Ver todos los espacios en blanco en un archivo

Para ver todos los espacios en blanco presentes en un archivo, canalice la salida del comando cat al comando tr, de la siguiente manera:

$ muestra de gato.txt | tr "" "*" | tr "\ t" "&"

Este comando reemplazará todos los espacios en blanco en el archivo dado con el carácter (*). Después de ingresar este comando, podrá ver claramente dónde están presentes todos los espacios en blanco (incluidos los espacios en blanco iniciales y finales) en el archivo.

Los caracteres * en la siguiente captura de pantalla muestran dónde están presentes todos los espacios en blanco en el archivo de muestra. Un solo * representa un solo espacio en blanco.

Recortar todos los espacios en blanco

Para eliminar todos los espacios en blanco de un archivo, canalice el comando out of cat al comando awk, de la siguiente manera:

$ muestra de gato.txt | awk 'gsub (/ /, ""); impresión '

Dónde

El comando anterior reemplaza todos los espacios en blanco (/ /) con nada ("").

En la siguiente captura de pantalla, puede ver que todos los espacios en blanco, incluidos los espacios en blanco iniciales y finales, se han eliminado de la salida.

Recortar espacios en blanco principales

Para eliminar solo los espacios en blanco iniciales del archivo, canalice el comando out of cat al comando awk, de la siguiente manera:

$ muestra de gato.txt | awk 'sub (/ ^ [\ t] + /, ""); impresión '

Dónde

El comando anterior reemplaza uno o más espacios al principio de la cadena (^ [\ t] +) con nada (“”) para eliminar los espacios en blanco iniciales.

En la siguiente captura de pantalla, puede ver que todos los espacios en blanco iniciales se han eliminado de la salida.

Puede usar el siguiente comando para verificar que el comando anterior haya eliminado los espacios en blanco iniciales:

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

En la captura de pantalla a continuación, es claramente visible que solo se han eliminado los espacios en blanco iniciales.

Recortar espacios en blanco finales

Para eliminar solo los espacios en blanco finales de un archivo, canalice el comando out of cat al comando awk, de la siguiente manera:

$ muestra de gato.txt | awk 'sub (/ [\ t] + $ /, ""); impresión '

Dónde

El comando anterior reemplaza uno o más espacios al final de la cadena ([\ t] + $) con nada ("") para eliminar los espacios en blanco finales.

Puede usar el siguiente comando para verificar que el comando anterior haya eliminado los espacios en blanco finales:

$ muestra de gato.txt | awk 'sub (/ [\ t] + $ /, ""); imprimir '| tr "" "*" | tr "\ t" "&"

En la captura de pantalla a continuación, es claramente visible que los espacios en blanco finales se han eliminado.

Recorte los espacios en blanco iniciales y finales

Para eliminar los espacios en blanco iniciales y finales de un archivo, canalice el comando out of cat al comando awk, de la siguiente manera:

$ muestra de gato.txt | awk 'gsub (/ ^ [\ t] + | [\ t] + $ /, ""); impresión '

Dónde

El comando anterior reemplaza los espacios iniciales y finales (^ [\ t]+ [\ t] + $) sin nada ("") para eliminarlos.

Para determinar si el comando anterior ha eliminado los espacios en blanco iniciales y finales del archivo, utilice el siguiente comando:

$ muestra de gato.txt | awk 'gsub (/ ^ [\ t] + | [\ t] + $ /, ""); imprimir '|
tr "" "*" | tr "\ t" "&"

En la siguiente captura de pantalla, es claramente visible que se han eliminado los espacios en blanco iniciales y finales, y solo quedan los espacios en blanco entre las cadenas.

Reemplazar múltiples espacios con un solo espacio

Para reemplazar varios espacios con un solo espacio, canalice el comando out of cat al comando awk, de la siguiente manera:

$ muestra de gato.txt | awk 'gsub (/ [] + /, ""); impresión '

Dónde:

El comando anterior reemplaza varios espacios en blanco ([] +) con un solo espacio en blanco ("").

Puede usar el siguiente comando para verificar que el comando anterior haya reemplazado los espacios múltiples con los espacios en blanco:

$ muestra de gato.txt | awk 'sub (/ [\ t] + $ /, ""); imprimir '| | tr "" "*" | tr "\ t" "&"

Había varios espacios en nuestro archivo de muestra. Como puede ver, varios espacios en blanco en la muestra.txt fueron reemplazados con un solo espacio en blanco usando el comando awk.

Para recortar los espacios en blanco solo en aquellas líneas que contienen un carácter específico, como una coma, dos puntos o un punto y coma, use el comando awk con el -F separador de entrada.

Por ejemplo, a continuación se muestra nuestro archivo de muestra que contiene espacios en blanco en cada línea.

Para eliminar los espacios en blanco solo de las líneas que contienen una coma (,), el comando sería el siguiente:

$ cat sample1.txt | awk -F, '/, / gsub (/ /, ""); impresión'

Dónde (-F,) es el separador del campo de entrada.

El comando anterior solo eliminará y mostrará los espacios en blanco de las líneas que contienen el carácter especificado (,) en ellas. El resto de las líneas no se verán afectadas.

Conclusión

Eso es todo lo que necesita saber para recortar los espacios en blanco en sus datos usando el comando awk. Es posible que sea necesario eliminar los espacios en blanco de sus datos por varias razones diferentes. Cualquiera sea el motivo, puede recortar fácilmente todos los espacios en blanco de sus datos utilizando los comandos descritos en este artículo. Incluso puede recortar los espacios en blanco iniciales o finales, recortar los espacios en blanco iniciales y finales y reemplazar varios espacios con un solo espacio con el comando awk.

SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...
0 A.D. Tutorial
De los muchos juegos de estrategia que existen, 0 A.D. logra destacarse como un título completo y un juego táctico muy profundo a pesar de ser de códi...