¿Qué es AWKNF?

La función «AWK» es una utilidad de Linux que se utiliza para el análisis de texto que ofrece un fuerte control de datos. Para utilizar el programa informático Linux y la función «AWK», los usuarios pueden evaluar, modificar y generar los resultados preparados. La variable «AWK NF» se usa para mostrar cuántos archivos, elementos u otros elementos están contenidos en una línea de cualquier archivo.

Trabajo de AWK NF

El programa «AWK» opera en programas que contienen las reglas que se componen de varios patrones y acciones que se llevan a cabo en el texto que coincide con el patrón. Un patrón y una acción forman una regla juntos. El programa completo «AWK» se incluye entre comillas simples.

Ahora, solo usamos un ejemplo simple para demostrar lo que sucede cuando escribimos «quién» en la terminal de Ubuntu 20.04. Este comando muestra información sobre el usuario, así como la hora y la fecha actuales.

Linux@linux:~$ quien

Ejecutamos este comando haciendo clic en Entrar en el teclado que imprime la fecha y la hora como «2022-12-08» y «15:06», respectivamente, antes de publicar algunos espacios en blanco y el nombre del usuario como «Linux».

De forma predeterminada, «AWK» interpreta un campo como una cadena de caracteres encerrados en espacios en blanco al principio y al final de una línea. Aquí, demostramos cómo escribir un comando usando los parámetros «AWK» y «quién» para recuperar el primer campo usando el signo de dólar y el número 1 ($1). Si deseamos recuperar el primer campo de un archivo de texto u otros datos, utilizamos el signo de dólar «$1» con uno. Para esto, usamos el comando en el que primero escribimos «quién». Entonces, usamos este “|” bar. Luego, ponemos espacio presionando la barra espaciadora en el teclado. Entonces escribimos «awk». Luego, usamos una coma invertida, seguida de corchetes. Finalmente, usamos la palabra «imprimir» y el símbolo «$1» dentro de estos corchetes.

Linux@linux:~$ quien | awk ‘{imprimir $1}’

Como puede ver en la imagen de salida anterior, cuando solo usamos «quién» en la terminal y ejecutamos esto, muestra el nombre de usuario junto con la información necesaria que incluye la fecha y la hora. Sin embargo, debido a que usamos “print $1” con “AWK” en el comando anterior, solo imprime el primer campo porque “$1” se usa para imprimir el primer campo del archivo, entre otras cosas.

Crear un archivo de texto en el escritorio usando la terminal e imprimir todo su contenido con «AWK»

Dado que «AWK» se utiliza para imprimir todo el contenido de un archivo en el terminal, creamos un archivo de texto como primer paso e imprimimos la información del archivo en el terminal. Aquí, creamos un archivo de texto en el escritorio usando la terminal. Para ello escribimos el comando en el que escribimos “nano” como editor de texto. Luego, usamos el símbolo (~) seguido de la barra inclinada “/”. Luego, escribimos “Escritorio” porque creamos un archivo en el escritorio seguido de la barra inclinada “/”. Nuevamente, escribimos el nombre del archivo que queremos crear. Finalmente, creamos un archivo llamado «archivo de texto» con la extensión «.txt» porque es un archivo de texto.

Linux@linux:~$ nano ~/Escritorio/archivo de texto.txt

Por lo tanto, una terminal nos muestra una pantalla en blanco cuando ingresamos este comando, como se muestra en la siguiente imagen:

Ingresamos los datos escribiéndolos en el terminal que queremos almacenar en el archivo de texto. Para hacer esto, creamos cinco líneas. El primero de los cuales contiene la palabra “Hola”. El segundo contiene «hey». El tercero contiene «hola». El cuarto contiene dos elementos, “adiós” y “123”. Y la quinta línea está vacía, como se muestra en la siguiente imagen:

Cuando presionamos «Ctrl-x» después de ingresar los datos en el archivo «textfile.txt», la opción «sí» o «No» aparece en la pantalla. Sabemos que queremos guardar el archivo. Entonces, presionamos «Ctrl-y» para guardar el archivo, y el archivo se crea con éxito.

La siguiente imagen muestra el archivo mostrado:

Como sabemos, el archivo se guarda en el escritorio. Primero debemos agregar un directorio al escritorio usando el comando “cd Desktop/” y luego presionar la tecla enter.

Linux@linux:~$ cd Escritorio/

Ahora, usamos la función «AWK» para recuperar el contenido del archivo recién creado, «textfile.txt», y mostrarlo en la pantalla. Para ello, usamos el comando en el que primero escribimos “awk”. Luego, usamos las comillas dentro de esto. Ponemos los corchetes y escribimos “print $0”. Después de lo cual, usamos un espacio. Finalmente, escribimos el nombre del archivo, “textfile.txt”.

Linux@linux:~/Desktop$ awk ‘{print $0}’ archivo de texto.txt

Ahora, cuando ejecutamos este comando, se muestra el contenido del archivo de texto como se puede ver en la siguiente imagen. La primera línea de este archivo tiene la palabra «hola» seguida de «hey». La palabra «hola» aparece en la tercera línea. Dos elementos se enumeran en la cuarta línea. Y la quinta línea está en blanco.

Mostrar el contenido del archivo con números de línea

Usando la variable «NR» en el comando, imprimimos el contenido del archivo junto con el número de línea en la siguiente parte. Para hacer esto, usamos el comando en el que primero escribimos «awk». Luego, después de un espacio, usamos una coma invertida. Dentro del cual, colocamos los corchetes. Luego, escribimos print. Finalmente, escribimos “NR”. Después de lo cual, ponemos una coma y escribimos “$0”. Luego, salimos del paréntesis y la coma invertida. Por último, escribimos el nombre del archivo, “textfile.txt”.

Linux@linux:~/Desktop$ awk ‘{print NR, $0}’ archivo de texto.txt

Como puede ver en el resultado, el contenido del archivo se muestra con números de línea que muestran que contiene «5» líneas.

Visualización de la cantidad total de datos por línea mediante NF

En esta sección, mostraremos el número total de elementos en cada línea. Para ello, usamos el comando en el que primero escribimos “awk” y luego seguimos los mismos pasos que en el comando anterior, pero usamos la variable “NF” después de escribir el parámetro “print”. A continuación, cerramos los corchetes y las comillas. Luego, escribimos el nombre del archivo, “textfile.txt”.

Linux@linux:~/Desktop$ awk ‘{print NF}’ archivo de texto.txt

El número de elementos que están presentes en el archivo ahora se muestra en la salida. Las tres primeras líneas incluyen elementos «1». La cuarta línea contiene elementos «2». Y la última línea está vacía en el archivo. Por lo tanto, muestra «0».

Eliminar las líneas en blanco

En esta sección, eliminamos la línea vacía del archivo. Para hacer esto, usamos el comando en el que primero usamos «awk». Entonces, usamos “NF>0” que es la condición que dice imprimir la línea si el número de elementos es mayor que “0”. De lo contrario, la línea no lo mostrará. Luego, usamos el mismo procedimiento que hicimos en la sección anterior.

Linux@linux:~/Escritorio$ awk ‘NF>0 {imprimir $0}’ archivo de texto.txt

Dado que la línea cinco del archivo está vacía, no se muestra en la pantalla. En su lugar, solo se muestran las líneas que contienen los elementos o elementos. Por lo tanto, las primeras cuatro líneas del archivo se muestran porque contienen los datos, mientras que la última línea se elimina porque no tiene datos.

Conclusión

En este artículo, hablamos sobre cómo utilizar la función «AWK NF» en Ubuntu 20.04 para imprimir los datos o la información de los archivos de texto. En el primer paso, demostramos cómo opera la función «AWK». En el segundo paso, creamos un archivo de texto en el escritorio y usamos los diversos parámetros de la función «AWK», como «NR», para imprimir las líneas del archivo con números. Luego, usamos «NF» para contar la cantidad de elementos que están presentes en cada línea del archivo. En el paso final, eliminamos la línea vacía del archivo aplicando una condición usando «NF».