Awk

Cómo omitir la primera línea de un archivo usando 'awk'

Cómo omitir la primera línea de un archivo usando 'awk'

Hay varios usos del comando 'awk' en Linux. Por ejemplo, se puede utilizar para imprimir el contenido de un archivo de texto. La primera línea de muchos archivos de texto contiene el encabezado del archivo y, a veces, la primera línea debe omitirse al imprimir el contenido del archivo. En este tutorial, le mostraremos cómo realizar esta tarea usando el comando 'awk'.

Crea un archivo de texto

Para seguir este tutorial, cree un archivo de texto delimitado por tabulaciones llamado lista de libros.TXT con el siguiente contenido. Este archivo contiene una lista de libros con sus autores correspondientes. En este tutorial, le mostraremos cómo imprimir diferentes partes de este archivo después de omitir la primera línea.

Ciberseguridad con bash Paul Troncone, Carl Albing
Línea de comandos Kung Fu Jason Cannon
Línea de comandos de Linux Travis Booth
Bash en sencillos pasos Mike McGrath
Unix en sencillos pasos Mike McGrath

Ejemplo 1: omita la primera línea de un archivo usando NR y el operador '>'

La variable NR indica el número de registros en un archivo. El siguiente comando 'awk' usa la variable NR para omitir la primera línea de un archivo. El valor de NR es 1 para la primera línea. El siguiente comando imprimirá líneas para las que el valor NR es mayor que 1.

$ cat lista de libros.TXT
$ awk '(NR> 1)' lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida incluye todas las líneas que no sean la primera línea del archivo.

Ejemplo 2: omita la primera línea utilizando NR y el '!= 'operador

El siguiente comando 'awk' es similar al del ejemplo anterior. Sin embargo, el '!= 'aquí se usa el operador de comparación en lugar de'> '.

$ cat lista de libros.TXT
$ awk 'NR!= 1 'lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida muestra todas las líneas que no sean la primera línea del archivo.

Ejemplo 3: omita la primera línea de un archivo utilizando una declaración condicional

El siguiente comando 'awk' imprimirá las líneas del archivo si la declaración if es verdadera. Aquí, la declaración if será verdadera solo cuando el valor de NR no sea igual a 1.

$ cat lista de libros.TXT
$ awk 'if (NR!= 1) print 'lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida incluye todas las líneas excepto la primera línea del archivo.

Ejemplo 4: imprima los nombres de los libros desde el archivo pero omita la primera línea

En este ejemplo se utilizan dos comandos 'awk' para imprimir todos los nombres de libros excepto el primero. El comando 'awk' leerá la primera columna del archivo según el separador de campo (\ t) y enviará la salida al segundo comando 'awk'. El segundo comando 'awk' imprimirá la salida deseada.

$ cat lista de libros.TXT
$ awk -F "\ t" 'imprimir $ 1' lista de libros.txt | awk 'NR!= 1 imprimir '

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida muestra todos los nombres de los libros excepto el del primer libro.

Ejemplo 5: formatee el contenido del archivo después de omitir la primera línea

La opción '-F', la variable NR y la función printf se utilizan en el siguiente comando 'awk' para generar una salida formateada después de omitir la primera línea. El comando dividirá el contenido del archivo en columnas según \ t, y printf imprimirá la primera y la segunda columna cuando el valor NR sea al menos 2.

$ cat lista de libros.TXT
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", $ 1, $ 2' lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida muestra el contenido formateado del archivo, excluyendo la primera línea del archivo.

Ejemplo 6: Imprima los nombres de los libros después de omitir la primera línea usando NR y NF

El siguiente comando 'awk' usa la opción '-F' y NR y NF para imprimir los nombres de los libros después de omitir el primer libro. La opción '-F' se usa para separar el contenido de la base del archivo en \ t. NR se usa para omitir la primera línea y NF se usa para imprimir solo la primera columna.

$ cat lista de libros.TXT
$ awk -F '\ t' 'NR> 1 && NF = 1' lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. La salida incluye todos los nombres de libros en el archivo excepto el del primer libro.

Ejemplo 7: imprima los nombres de los autores formateados después de omitir la primera línea

El siguiente comando 'awk' usa la opción '-F' y una declaración condicional para imprimir los nombres de los autores después de omitir la primera línea. Aquí, el valor NR se usa en la condición if. Aquí, "Nombre del autor: \ n \ n" se imprimirá como la primera línea en lugar del contenido de la primera línea. Los nombres del autor del archivo se imprimirán para los otros valores de NR.

$ cat lista de libros.TXT
$ awk -F '\ t' 'if (NR == 1) printf "\ nNombre del autor: \ n \ n"; else printf "% s \ n", $ 2 'lista de libros.TXT

La siguiente salida se producirá después de ejecutar los comandos anteriores. El resultado muestra el texto, "Nombre del autor:" con una nueva línea, y todos los nombres de los autores se imprimen excepto el primero.

Conclusión

La primera línea de un archivo se puede omitir utilizando varios comandos de Linux. Como se muestra en este tutorial, hay diferentes formas de omitir la primera línea de un archivo usando el comando 'awk'. Cabe destacar que la variable NR del comando 'awk' se puede usar para omitir la primera línea de cualquier archivo.

Cómo usar Xdotool para estimular los clics del mouse y las pulsaciones de teclas en Linux
Xdotool es una herramienta de línea de comandos gratuita y de código abierto para simular clics del mouse y pulsaciones de teclas. Este artículo cubri...
Los 5 mejores productos ergonómicos de mouse de computadora para Linux
¿El uso prolongado de la computadora causa dolor en la muñeca o los dedos?? ¿Sufre de rigidez en las articulaciones y constantemente tiene que dar la ...
Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...