¿Qué es NR incorporado AWK??
"NR" es una variable incorporada especial de AWK que representa el "número de registros". Esta variable se utiliza para tratar el número de registros presentes en los archivos especificados.
Ejemplos de usar AWK incorporado NR en Ubuntu 20.04:
Para aprender más sobre el uso de AWK incorporado de NR, tendrá que pasar por los siguientes ejemplos que se han implementado en un Ubuntu 20.04 sistema. Sin embargo, antes de hablar sobre estos ejemplos, nos gustaría compartir con usted el archivo de texto de muestra que hemos creado en nuestro directorio de inicio con nombres.TXT. Este archivo contiene los nombres de unos pocos individuos, seguido de sus respectivas edades. Usaremos el mismo archivo de texto para demostrar los cuatro ejemplos. Este archivo de texto es el siguiente:
Ejemplo # 1: Mostrar números de línea con los registros en un archivo de texto:
En este ejemplo, queremos mostrar todos los registros de nuestro archivo de texto de destino para que cada registro esté asignado con un número de línea específico después de un orden ascendente. Habría notado anteriormente que el archivo de texto que estamos usando contenía algunos registros, pero no tenían ningún número de línea. Además, los registros aquí se refieren a las distintas líneas de texto presentes en un archivo de texto. Por ejemplo, si un archivo de texto tiene cinco líneas diferentes, diremos que tiene cinco registros diferentes. Para hacer posible la declaración mencionada anteriormente,.mi., Mostrar números de línea junto con los registros de nuestro archivo de texto de destino, ejecutaremos el siguiente comando en nuestro terminal:
$ awk 'print nr, $ 0'.TXT
En este comando, la palabra clave "AWK" le dirá a nuestro sistema que estamos tratando de ejecutar un comando usando el lenguaje de secuencias de comandos AWK. Luego, tenemos un comando "Imprimir" seguido de la palabra clave "NR" y una variable especial "$ 0". Ahora, esta parte del comando tendrá el propósito de mostrar números de línea junto con los registros presentes en nuestro archivo de texto de destino. Finalmente, hemos proporcionado el nombre de nuestro archivo de texto de destino en este comando para que pueda leerse fácilmente. Hemos ejecutado este comando simplemente presionando la tecla ENTER.
Puede ver fácilmente en el terminal que, como resultado de ejecutar este comando, el contenido de nuestro archivo de texto de destino, I.mi., Todos los registros de nuestro archivo de texto se muestran junto con sus respectivos números de línea como se muestra en la imagen a continuación:
Ejemplo # 2: Mostrar los registros de un archivo de texto que se encuentra dentro de un rango especificado:
A veces, no desea que todos los registros del archivo se muestren o procesen más; Más bien, solo desea usar los registros que se encuentran dentro de un rango especificado. Por lo tanto, en este ejemplo, queremos que todos los registros de archivos de texto de destino se muestren en el terminal que se encuentra dentro de nuestro rango de números de línea especificado. Para comprender esto más a fondo, primero debe mirar el siguiente comando que se utilizará para servir a este propósito:
$ awk 'nr == 4, nr == 8 print nr, $ 0' nombres.TXT
En este comando, la palabra clave "AWK" le dirá a nuestro sistema que estamos tratando de ejecutar un comando usando el lenguaje de secuencias de comandos AWK. Luego, tenemos la instrucción 'nr == 4, nr == 8' que especificará el rango de registros que se mostrarán, i.mi., Al usar esta declaración en particular, nuestros registros de los números de línea 4 a 8 (inclusive) se mostrarán en el terminal. Puede definir este rango de acuerdo con su propia elección. Después de eso, tenemos el comando "Imprimir" seguido de la palabra clave "NR" y la variable especial "$ 0". Ahora, esta parte del comando tendrá el propósito de mostrar números de línea junto con los registros especificados presentes en nuestro archivo de texto de destino. Finalmente, hemos proporcionado el nombre de nuestro archivo de texto de destino en este comando para que pueda leerse fácilmente. Hemos ejecutado este comando simplemente presionando la tecla ENTER.
Puede visualizar fácilmente en el terminal que, como resultado de la ejecución de este comando, el contenido específico de nuestro archivo de texto de destino, i.mi., Todos los registros de nuestro archivo de texto que se encuentran dentro del rango especificado, se muestran junto con sus respectivos números de línea, como se muestra en la imagen a continuación:
Ejemplo # 3: Mostrar los números de línea con los registros específicos en un archivo de texto separado por el símbolo especial "-":
Para que el contenido de un archivo de texto sea más legible, es posible que desee separar los números de línea de los registros utilizando cualquier símbolo especial. Además, es posible que desee que se muestren una columna específica de todos los registros. Hemos diseñado este ejemplo para elaborar el método para mostrar los números de línea con la columna específica de los registros de un archivo de texto separado por el símbolo especial "-". Para lograr este tipo de salida, deberá ejecutar el siguiente comando:
$ Awk 'print nr "-", $ 1' Nombres.TXT
Este comando es bastante similar al comando que ejecutamos para nuestro primer ejemplo. Sin embargo, la única diferencia es que hemos especificado el separador "-" en él. Además, en lugar de usar la variable especial "$ 0", hemos utilizado la variable especial "$ 1", que especificará que solo la primera columna de todos los registros de archivos de texto debe imprimirse.
En la salida que se muestra a continuación, puede ver que solo se mostró la primera columna de todos los registros de nuestro archivo de texto de destino; Sin embargo, los números de línea estaban bien separados de los registros con la ayuda del símbolo especial "-".
Ejemplo # 4: Mostrar el número total de registros en un archivo de texto:
A veces, es posible que solo desee que se muestren el número total de registros del archivo en el terminal. Para hacerlo, simplemente necesita ejecutar el siguiente comando:
nombres de $ awk 'end print nr'.TXT
En este comando, la palabra clave "final" le dirá al sistema que solo necesita contar el número de registros del archivo de texto, y la instrucción "imprimir nr" le indicará a su sistema que imprima el número total de registros en el terminal.
Sabemos que tuvimos un total de 10 registros en nuestro archivo de texto de destino, y esto también se verifica a partir de la salida del comando mencionado anteriormente que se muestra en la imagen a continuación:
Conclusión:
Este artículo abrió con una breve introducción al lenguaje de secuencias de comandos AWK. El quid de esta guía fue enseñarle el uso de la variable especial de "NR" AWK incorporada. Primero, dimos una visión general de esta variable especial, seguido de cuatro ejemplos diferentes con la ayuda de los cuales puede comprender su uso. Una vez que pase por estos ejemplos, estará en una buena posición para usar de manera efectiva esta variable especial en AWK.