¿Qué es AWKNF?

Que Es Awknf



El lenguaje de secuencias de comandos AWK también tiene una serie de variables especiales integradas para cumplir algunos propósitos predefinidos. Una de esas variables integradas es 'NF', que tiene su propia funcionalidad predefinida. Este artículo explorará el propósito de esta variable AWK integrada al demostrar algunos ejemplos relevantes en Ubuntu 20.04.

AWKNF en Ubuntu 20.04:

La variable AWK “NF” se utiliza para imprimir el número de campos en todas las líneas de cualquier archivo proporcionado. Esta variable integrada recorre todas las líneas del archivo una por una e imprime el número de campos por separado para cada línea. Para comprender bien esta funcionalidad, deberá leer los ejemplos que se analizan a continuación.

Ejemplos para demostrar el uso de AWK NF en Ubuntu 20.04:

Los siguientes cuatro ejemplos han sido diseñados para enseñarle el uso de AWK NF de una manera muy fácil de entender. Todos estos ejemplos se han implementado utilizando el sistema operativo Ubuntu 20.04.







Ejemplo # 1: Imprimir el Número de Campos de Cada Línea de un Archivo de Texto:

En este ejemplo, queríamos imprimir el número de campos o columnas de cada línea o fila o registro de un archivo de texto en Ubuntu 20.04. Para mostrarle el método para hacerlo, hemos creado el archivo de texto que se muestra en la imagen a continuación. Este archivo de texto contiene las tarifas de manzanas por kilogramo de cinco ciudades diferentes de Pakistán.





Una vez que habíamos creado este archivo de texto de muestra, ejecutamos el siguiente comando para imprimir el número de campos de cada línea de este archivo de texto en nuestra terminal:





$ awk { imprimir NF } Tarifas Apple.txt

En este comando, tenemos la palabra clave 'awk' que muestra que estamos ejecutando un comando AWK seguido de la instrucción 'print NF' que simplemente iterará a través de cada línea del archivo de texto de destino e imprimirá la cantidad de campos por separado para cada uno. línea del archivo de texto. Finalmente, tenemos el nombre de ese archivo de texto (cuyos campos se van a contar) que en nuestro caso es “AppleRatest.txt”.



Dado que teníamos exactamente el mismo número de campos para las cinco líneas de nuestro archivo de texto, es decir, 2, se imprime el mismo número como el número de campos para todas las líneas del archivo de texto debido a la ejecución de este comando. Esto se puede ver en la siguiente imagen:

Ejemplo #2: Imprima el Número de Campos de Cada Línea de un Archivo de Texto de Manera Presente:

El resultado que se muestra en el ejemplo discutido anteriormente también se puede presentar de manera agradable al mostrar los números de línea y el número de campos de cada línea del archivo de texto. Además, también podemos separar los números de línea del número de campos con cualquier carácter especial de nuestra elección. Usaremos el mismo archivo de texto que usamos para nuestro primer ejemplo para mostrarle esto. Sin embargo, nuestro comando que se ejecutará en este caso diferirá ligeramente, y es el siguiente:

$ awk { imprimir NR, “---”, NF } Tarifas Apple.txt

En este comando, hemos introducido la variable AWK incorporada 'NR' que simplemente imprimirá los números de línea de todas las líneas de nuestro archivo de texto de destino. Además, hemos utilizado tres guiones, “—” como carácter especial para separar los números de línea del número de campos de nuestro archivo de texto proporcionado.

Esta salida ligeramente modificada del mismo archivo de texto se muestra en la siguiente imagen:

Ejemplo # 3: Imprima el primer y último campo de cada línea de un archivo de texto:

Además de contar el número de campos de todas las líneas de un archivo de texto proporcionado, la variable especial 'NF' de AWK también se puede utilizar para extraer los valores reales del último campo del archivo de texto proporcionado. Nuevamente, hemos usado el mismo archivo de texto que usamos para nuestros dos primeros ejemplos. Sin embargo, queremos imprimir los valores reales del primer y último campo de nuestro archivo de texto en este ejemplo. Para eso, ejecutamos el siguiente comando:

$ awk { impresión $1 , $NF } Tarifas Apple.txt

La palabra clave 'awk' es seguida por la instrucción 'print $1, $NF' en este comando. La variable especial '$1' se ha utilizado para imprimir los valores del primer campo o la primera columna de nuestro archivo de texto proporcionado, mientras que la variable AWK '$NF' se ha utilizado para imprimir los valores del último campo o la última columna de nuestro archivo de texto de destino. Debe notar aquí que cuando usamos la variable AWK 'NF' tal como está, entonces se usa para contar la cantidad de campos de cada línea; sin embargo, cuando se usa con el símbolo de dólar '$', simplemente extraerá los valores reales del último campo del archivo de texto proporcionado. El resto del comando es más o menos el mismo que el de los comandos que se han utilizado para los dos primeros ejemplos.

En el resultado que se muestra a continuación, puede ver que los valores reales del primer y último campo de nuestro archivo de texto proporcionado se han impreso en el terminal. Puede ver que esta salida es bastante similar a la salida del comando 'gato' únicamente porque solo teníamos dos campos en nuestro archivo de texto proporcionado; por lo tanto, en cierto modo, el contenido de todo nuestro archivo de texto se imprimió en la terminal como resultado de ejecutar el comando mencionado anteriormente.

Ejemplo # 4: Separar los Registros con Campos Faltantes en un Archivo de Texto:

A veces, hay algunos registros en un archivo de texto con ciertos campos que faltan y es posible que desee separar esos registros de los que están completos en todos los aspectos. Esto también se puede hacer usando la variable AWK 'NF'. Para eso, hemos creado un archivo de texto llamado 'ExamMarks.txt' que contiene los puntajes de los exámenes de cinco estudiantes diferentes en tres exámenes diferentes junto con sus nombres. Sin embargo, para el tercer examen, algunos de los estudiantes estuvieron ausentes debido a que faltaron sus puntajes. Este archivo de texto es el siguiente:

Para distinguir los registros con campos faltantes de los registros con los campos completos, ejecutaremos el comando que se muestra a continuación:

$ awk { imprimir NR, “--- > ”, NF } ' ExamMarks.txt

Este comando es el mismo que hemos usado para nuestro segundo ejemplo. Sin embargo, a partir del resultado de este comando que se muestra en la siguiente imagen, puede ver que los registros primero y cuarto están completos, mientras que los registros segundo, tercero y quinto contienen campos faltantes.

Conclusión:

El propósito de este artículo fue explicar el uso de la variable especial 'NF' AWK. Primero discutimos brevemente cómo funciona esta variable, y después de eso, elaboramos bien este concepto con la ayuda de cuatro ejemplos diferentes. Una vez que comprenda bien todos los ejemplos compartidos, podrá utilizar la variable AWK 'NF' para contar el número total de campos e imprimir los valores reales del último campo del archivo proporcionado.