E jemplo -1: Definición y variables Impresión
El comando `awk` usa la opción ‘-v’ para definir la variable. En este ejemplo, la variable myvar se define en el comando `awk` para almacenar el valor, ” variable AWK “ que se imprime más tarde. Ejecute el siguiente comando desde el terminal para verificar la salida.
Producción:
Ejemplo – 2: uso de la variable de shell en awk con comillas simples y comillas dobles
El ejemplo muestra cómo se puede utilizar la variable de shell con el comando `awk`. Aquí, una variable de shell, myvar , se declara con el valor “Linux Hint” en el primer comando. El símbolo ‘$’ se usa con un nombre de variable de shell para leer el valor. El segundo comando lee la variable $ myval con comillas simples (‘) y el tercer comando lee la variable $ myvar con comillas dobles (“) en la declaración` awk`.
$ echo | awk -v awkvar=‘$myvar’ ‘{ print awkvar }’
$ echo | awk -v awkvar=“$myvar“ ‘{ print awkvar }’
Producción:
Se muestra en la salida que el valor de $ myvar no se puede leer cuando está entre comillas simples (‘) y la salida es $ myvar . El valor de $ myvar se imprime cuando se encierra entre comillas dobles (“).
Ejemplo – 3: lectura de la variable ARGC en awk
La variable ARGC se usa para contar el número total de argumentos de la línea de comando. Se pasan tres variables de argumentos de línea de comando (t1, t2, t3) en el siguiente script awk. Aquí, el número total de argumentos con el script es 4. Ejecute el script desde la terminal.
Producción:
La siguiente salida aparecerá después de ejecutar el script.
Ejemplo 4: lectura del contenido del archivo por variables de argumento
Cree un archivo de texto llamado customer.txt con el siguiente contenido para practicar este ejemplo. Aquí, cada campo del archivo está separado por un espacio de pestaña única .
customer.txt
103847 John Micheal
209485 Watson
974732 Mira Hossain
El comando Awk puede leer cada campo de cualquier archivo de texto mediante variables de argumento. Hay dos campos en el archivo customer.txt . Estos son ID y Nombre. El siguiente script imprimirá estos dos campos por variables de argumento, $ 1 y $ 2 separando dos espacios de tabulación . Ejecute el script desde la terminal.
$ cat customer.txt | awk ‘{ print $1 “\t\t” $2}’
Producción:
La siguiente salida aparecerá después de ejecutar los comandos anteriores.
Ejemplo 5: uso de la variable incorporada, FS y la opción de separador de campo con el comando awk
La variable FS se usa en el comando awk como un separador de campo. El espacio se utiliza como valor predeterminado de FS. El siguiente comando leerá el archivo customer.txt usando un espacio como separador de campo e imprimirá el contenido del archivo. Ejecute el comando desde la terminal.
Producción:
La siguiente salida aparecerá después de ejecutar el script.
El comando Awk puede usar otros caracteres como separador de campo usando la opción ‘-F’. Cree un archivo de texto llamado product.txt con el siguiente contenido donde ‘:’ se usa como separador de campo.
product.txt
102:Pencil:$5
103:Soap:$3
104:Shampoo:$10
Hay tres campos en el archivo, product.txt que contiene la identificación del producto, el nombre y el precio. El siguiente comando awk imprimirá solo el segundo campo de cada línea. Ejecute los comandos desde la terminal.
$ awk -F ‘:’ ‘{ print $2 }’ product.txt
Producción:
Aquí, el primer comando imprimió el contenido de product.txt y el segundo comando imprimió solo el segundo campo del archivo.
Ejemplo – 6: uso de la variable incorporada, NR con el comando awk
La variable NR se usa en el comando awk para contar el número total de registros o líneas de un archivo. Cree un archivo de texto llamado student.txt para probar la función de esta variable.
student.txt
John 20 3
Mira 22 1
Ella 18
Charle 15 8
El siguiente script awk imprimirá las primeras tres líneas del archivo product.txt . Aquí, se agrega una condición usando la variable NR. El comando imprimirá aquellas líneas donde el valor NR sea menor que 4. Ejecute el script desde la terminal.
Producción:
La siguiente salida aparecerá después de ejecutar el script.
Ejemplo – 7: uso de la variable incorporada, NF con el comando awk
La variable NF se usa en el comando awk para contar el número total de campos en cada línea de un archivo. El siguiente script awk se aplica al archivo student.txt que se creó en el ejemplo anterior. La secuencia de comandos imprimirá esas líneas del archivo student.txt donde los campos totales son menos de 3. Ejecute el comando desde la terminal.
Producción:
Solo existe una línea en el archivo donde el número total de campos es menor que 3 que se imprime como salida.
Ejemplo – 8: uso de la variable incorporada, OFS con el comando awk
La variable OFS se usa en el comando awk para agregar un separador de campo de salida en la salida. El archivo product.txt se utiliza en este ejemplo para mostrar el uso de la variable OFS. ‘:’ se utiliza como separador de campo en el archivo product.txt. El siguiente script awk usó ‘->’ como valor OFS y, el segundo y tercer campo del archivo se imprimirán agregando este separador. Ejecute los comandos desde la terminal.
$ awk -F ‘:’ ‘BEGIN{OFS=”->”} {print $2,$3}’ product.txt
Producción:
La siguiente salida se imprimirá después de ejecutar los comandos.
Conclusión:
En este tutorial se intenta explicar los usos más comunes de las variables awk. Espero que el lector pueda usar las variables awk correctamente en el script después de practicar este tutorial.