Il comando head di Linux legge e stampa le prime N righe sullo standard output. Per impostazione predefinita, stampa le prime dieci righe di un file sullo standard output. Tuttavia, questo può essere modificato passando argomenti aggiuntivi sulla riga di comando. Il comando "head" è l'opposto del comando tail che stampa le ultime N righe di un determinato file. In questa guida, ci concentriamo sul comando head di Linux e presentiamo alcuni casi d'uso del comando.
Sintassi:
Il comando head accetta la seguente sintassi:
$ head [opzioni] file/i
1) Visualizza le prime dieci righe di un file
Come discusso nell'introduzione, il comando head, senza alcun argomento, mostra le prime dieci righe di un file. Nell'esempio seguente, abbiamo un file di testo di esempio, asian_countries.txt, che contiene un elenco di paesi nel continente asiatico.
Per elencare i primi 10 paesi nel file, esegui il comando:
$ head asian_countries.txt
2) Visualizza il tag del nome del file
Usando il flag -v, puoi visualizzare il tag del nome del file prima di stampare le righe nel file come segue:
$ head -v asian_countries.txt
3) Visualizza l'output da più file
Inoltre, puoi passare più file in un unico comando come mostrato di seguito. Questa volta, il nome di ogni file di testo viene stampato prima delle righe con l'output del primo file che precede il file successivo.
Nell'esempio seguente, abbiamo 2 file di testo:asian_countries.txt e europe_countries.txt. Viene prima stampato l'output del file asian_countries.txt, seguito dal file europe_countries.txt. Nota che c'è un tag del nome del file che precede le righe.
$ head asian_countries.txt europe_countries.txt
Il comando sopra la testa mostrerà le prime dieci righe di ogni file.
4) Visualizza il primo N numero di righe
È possibile definire le righe che si desidera visualizzare utilizzando il flag -n seguito dal numero di righe che si desidera stampare. Ad esempio, per stampare le prime 5 righe, eseguire il comando:
$ head -n 5 asian_countries.txt
5) Reindirizza l'output in un file di testo
Invece di stampare su standard out, è possibile salvare l'output del comando head in un file di testo o in un file di registro utilizzando l'operatore di reindirizzamento (>). Se il file non esiste, viene creato e l'output viene archiviato. Tieni presente che questo sovrascrive tutto nel file.
Il comando seguente salva l'output delle prime 4 righe nel file di testo asian_countries nel file output.txt
$ head -n 4 asian_countries.txt > output.txt
Per evitare che il file venga sovrascritto, usa l'operatore double maggiore di (>>) per aggiungere l'output al file.
Nel comando seguente, aggiungiamo l'output delle prime 4 righe del file di testo europe_countries al file output.txt senza sovrascriverlo.
$ head -n 4 europe_countries.txt >> output.txt
Usando il comando cat, osserva come il file contiene l'output dei paesi in Asia oltre a quelli in Europa.
6) Usa il comando head con i tubi
Puoi inviare i comandi alla testa per stampare un numero N di righe. Ad esempio, puoi stampare le prime 15 voci nella directory /etc come mostrato.
$ ls /etc | head -n 15
Puoi anche reindirizzare l'output del comando head ad altri comandi come il comando sort per una migliore formattazione.
$ head -n 5 asian_countries.txt | sort > output2.txt
7) Verifica la versione del comando principale
Per verificare la versione del comando head, richiama il comando seguente.
$ head --version
8) Ottieni opzioni aggiuntive
Per ottenere aiuto con l'utilizzo dei comandi, visita le pagine man come mostrato.
$ man head
Grazie per essere arrivato fin qui. Ci auguriamo che questo tutorial faccia luce ed elimini qualsiasi confusione sull'utilizzo del comando head di Linux.
Leggi anche :9 esempi di comandi tee in Linux