Awk

Come saltare la prima riga di un file usando 'awk'

Come saltare la prima riga di un file usando 'awk'

Ci sono vari usi del comando 'awk' in Linux. Ad esempio, può essere utilizzato per stampare il contenuto di un file di testo. La prima riga di molti file di testo contiene l'intestazione del file e, a volte, la prima riga deve essere saltata quando si stampa il contenuto del file. In questo tutorial, ti mostreremo come eseguire questa operazione utilizzando il comando 'awk'.

Crea un file di testo

Per seguire questo tutorial, crea un file di testo delimitato da tabulazioni chiamato lista di libri.TXT con il seguente contenuto. Questo file contiene un elenco di libri con i loro autori corrispondenti. In questo tutorial, ti mostreremo come stampare diverse parti di questo file dopo aver saltato la prima riga.

Sicurezza informatica con bash Paul Troncone, Carl Albing
Riga di comando Kung Fu Jason Cannon
Linux Command Line Travis Booth
Bash in semplici passi Mike McGrath
Unix in semplici passi Mike McGrath

Esempio 1: saltare la prima riga di un file utilizzando NR e l'operatore '>'

La variabile NR indica il numero di record in un file. Il seguente comando 'awk' usa la variabile NR per saltare la prima riga di un file. Il valore di NR è 1 per la prima riga. Il seguente comando stamperà le righe per le quali il valore NR è maggiore di 1.

$ elenco di libri per gatti.TXT
$ awk '(NR>1)' elenco di libri.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output include tutte le righe tranne la prima riga del file.

Esempio 2: salta la prima riga usando NR e '!='operatore

Il seguente comando 'awk' è simile a quello dell'esempio precedente. Comunque, il '!=' qui viene usato l'operatore di confronto invece di '>'.

$ elenco di libri per gatti.TXT
$ awk 'NR!=1' elenco di libri.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output mostra tutte le righe tranne la prima riga del file.

Esempio 3: saltare la prima riga di un file utilizzando un'istruzione condizionale

Il seguente comando 'awk' stamperà le righe del file se l'istruzione if è vera. Qui, l'istruzione if sarà vera solo quando il valore NR non è uguale a 1.

$ elenco di libri per gatti.TXT
$ awk 'se (NR!=1) stampa' elenco di libri.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output include tutte le righe tranne la prima riga del file.

Esempio 4: stampa i nomi dei libri dal file ma salta la prima riga

In questo esempio vengono usati due comandi 'awk' per stampare tutti i nomi dei libri tranne il primo. Il comando 'awk' leggerà la prima colonna dal file in base al separatore di campo (\t) e invierà l'output al secondo comando 'awk'. Il secondo comando 'awk' stamperà l'output desiderato.

$ elenco di libri per gatti.TXT
$ awk -F "\t" 'print $1' elenco libri.txt | awk 'NR!=1 stampa'

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output mostra tutti i nomi dei libri tranne quello del primo libro.

Esempio 5: formattare il contenuto del file dopo aver saltato la prima riga

L'opzione '-F', la variabile NR e la funzione printf sono usate nel seguente comando 'awk' per generare un output formattato dopo aver saltato la prima riga. Il comando dividerà il contenuto del file in colonne in base a \t e printf stamperà la prima e la seconda colonna quando il valore NR è almeno 2.

$ elenco di libri per gatti.TXT
$ awk -F '\t' 'NR>=2 printf "%30s %20s\n", $1, $2' elenco libri.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output mostra il contenuto formattato del file, esclusa la prima riga del file.

Esempio 6: stampa i nomi dei libri dopo aver saltato la prima riga usando NR e NF

Il seguente comando 'awk' usa l'opzione '-F' e NR e NF per stampare i nomi dei libri dopo aver saltato il primo libro. L'opzione '-F' viene utilizzata per separare il contenuto del file in base a \t. NR viene utilizzato per saltare la prima riga e NF viene utilizzato per stampare solo la prima colonna.

$ elenco di libri per gatti.TXT
$ awk -F '\t' 'NR>1 && NF=1' elenco libri.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output include tutti i nomi dei libri nel file tranne quello del primo libro.

Esempio 7: stampa i nomi degli autori formattati dopo aver saltato la prima riga

Il seguente comando 'awk' usa l'opzione '-F' e un'istruzione condizionale per stampare i nomi degli autori dopo aver saltato la prima riga. Qui, il valore NR viene utilizzato nella condizione if. Qui, "Nome autore:\n\n" verrà stampato come prima riga invece del contenuto della prima riga. I nomi degli autori dal file verranno stampati per gli altri valori di NR.

$ elenco di libri per gatti.TXT
$ awk -F '\t' ' se (NR==1) printf "\nNome autore:\n\n"; else  printf "%s\n", $2' booklist.TXT

Il seguente output verrà prodotto dopo aver eseguito i comandi precedenti. L'output mostra il testo "Nome autore:" con una nuova riga e vengono stampati tutti i nomi degli autori tranne il primo.

Conclusione

La prima riga di un file può essere saltata usando vari comandi di Linux. Come mostrato in questo tutorial, ci sono diversi modi per saltare la prima riga di un file usando il comando 'awk'. In particolare, la variabile NR del comando 'awk' può essere utilizzata per saltare la prima riga di qualsiasi file.

WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...
Il tasto sinistro del mouse non funziona su Windows 10
Se stai utilizzando un mouse dedicato con il tuo laptop o computer desktop ma il il tasto sinistro del mouse non funziona su Windows 10/8/7 per qualch...
Il cursore salta o si sposta in modo casuale durante la digitazione in Windows 10
Se scopri che il cursore del mouse salta o si sposta da solo, automaticamente, in modo casuale durante la digitazione nel laptop o nel computer Window...