Cómo usar la variable en el comando AWK

Cómo usar la variable en el comando AWK
Las variables se utilizan para almacenar cualquier valor temporal en cualquier lenguaje de programación. La definición de la variable en el comando AWK es similar al lenguaje de secuencias de comandos bash y funciona como Bash cuando la variable de shell se usa con una sola cotización y doble cita. El comando AWK tiene muchas variables incorporadas para diversos fines. Cómo se pueden usar las variables definidas por el usuario, incorporadas y de shell en el comando AWK en este tutorial utilizando diferentes ejemplos.

mixample -1: definición e impresión variable

El comando 'AWK' utiliza la opción '-v' para definir la variable. En este ejemplo, el myvar La variable 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.

$ Echo | AWK -V myVar = 'AWK Variable' 'Imprimir myvar'

Producción:

Ejemplo - 2: Uso de la variable de shell en AWK con una sola cita y una cita doble

El ejemplo muestra cómo se puede usar la variable de shell 'AWK'. Aquí, una variable de shell, myvar se declara con el valor, "Linux Sugerencia" en el primer comando. El símbolo de '$' se usa con un nombre de variable de shell para leer el valor. El segundo comando lee la variable, $ myval con una sola cita (') y el tercer comando lee la variable $ myvar con doble cita (") en la declaración' AWK '.

$ myvar = "Linux Sugerencia"
$ 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á encerrado con una sola cotización (') y la salida es $ myvar. El valor de $ myvar se imprime cuando está encerrado con una cita doble (").

Ejemplo - 3: Lectura de la variable Argc en AWK

La variable ARGC se utiliza para contar el número total de argumentos de la línea de comandos. Tres variables de argumentos de línea de comando (T1, T2, T3) se pasan en el siguiente script AWK. Aquí, el número total de argumentos con el guión es 4. Ejecute el script desde el terminal.

$ awk 'begin imprim "argumentos totales =", argc' t1 t2 t3

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo - 4: Lectura de contenido del archivo por variables de argumento

Crear un archivo de texto llamado cliente.TXT con el siguiente contenido para practicar este ejemplo. Aquí, cada campo del archivo está separado por un solo pestaña espacio.

cliente.TXT

Nombre de identificación
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 cliente.TXT archivo. Estos son identificación y nombre. El siguiente script imprimirá estos dos campos por variables de argumento, $ 1 y $ 2 separando dos pestaña espacios. Ejecute el script desde el terminal.

$ CAT CATHER.TXT
$ CAT CATHER.txt | Awk 'imprima $ 1 "\ t \ t" $ 2;'

Producción:

La siguiente salida aparecerá después de ejecutar los comandos anteriores.

Ejemplo- 5: Uso de la opción de variable incorporada, FS y separador de campo con el comando AWK

La variable FS se usa en el comando AWK como separador de campo. El espacio se usa como un valor predeterminado de FS. El siguiente comando leerá el archivo cliente.TXT Uso del espacio como separador de campo e imprima el contenido del archivo. Ejecute el comando desde el terminal.

$ AWK FS Cliente.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el script.

El comando AWK puede usar otros caracteres como separador de campo utilizando la opción '-f'. Crear un archivo de texto llamado producto.TXT con el siguiente contenido donde ':' se usa como separador de campo.

producto.TXT

101: Pastel: $ 30
102: lápiz: $ 5
103: jabón: $ 3
104: Champú: $ 10

Hay tres campos en el archivo, producto.TXT que contiene identificación de producto, nombre y precio. El siguiente comando AWK imprimirá solo el segundo campo de cada línea. Ejecute los comandos desde la terminal.

$ CAT PRODUCTO.TXT
$ awk -f ':' '' imprimir $ 2 'producto.TXT

Producción:

Aquí, el primer comando imprimió el contenido de producto.TXT y el segundo comando imprimió solo el segundo campo del archivo.

Ejemplo - 6: Uso de la variable incorporada, NR con 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. Crear un archivo de texto llamado alumno.TXT Para probar la función de esta variable.

alumno.TXT

Nombre Semestre por lotes
Juan 20 3
Mira 22 1
Ella 18
Charle 15 8

El siguiente script AWK imprimirá las tres primeras líneas de producto.TXT archivo. Aquí, se agrega una condición utilizando la variable NR. El comando imprimirá esas líneas donde el valor nr es inferior a 4. Ejecute el script desde el terminal.

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Estudiante de $ Cat.txt | Awk 'nr < 4'

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. Se aplica el siguiente script AWK para el archivo, alumno.TXT que se crea en el ejemplo anterior. El script imprimirá esas líneas desde alumno.TXT Archivo donde los campos totales son inferiores a 3. Ejecute el comando desde el terminal.

Estudiante de $ Cat.txt | awk 'nf < 3'

Producción:

Solo existe una línea en el archivo donde el número total de campos es inferior a 3 que se imprime como salida.

Ejemplo - 8: Uso de la variable incorporada, OFS con comando AWK

La variable OFS se usa en el comando AWK para agregar separador de campo de salida en la salida. producto.TXT El archivo se usa en este ejemplo para mostrar el uso de la variable OFS. ':' se usa como separador de campo en el producto.archivo txt. El siguiente script AWK utilizado '->' como valor de OFS y el segundo y el tercer campos del archivo se imprimirán agregando este separador. Ejecute los comandos desde la terminal.

$ CAT PRODUCTO.TXT
$ awk -f ':' 'begin ofs = " ->"; imprimir $ 2, $ 3;' Producto.TXT

Producción:

La siguiente salida se imprimirá después de ejecutar los comandos.

Conclusión:

Los usos más comunes de las variables AWK se intentan explicar en este tutorial. Espero que el lector pueda usar las variables AWK correctamente en el script después de practicar este tutorial.