Sì, questo è un modo per ottenere la prima riga di output da un comando.
Se il comando emette qualcosa nell'errore standard che desideri catturare nello stesso modo, devi reindirizzare l'errore standard del comando al flusso di output standard:
utility 2>&1 | head -n 1
Esistono molti altri modi per acquisire anche la prima riga, incluso sed 1q
(esci dopo la prima riga), sed -n 1p
(stampa solo la prima riga, ma leggi tutto), awk 'FNR == 1'
(stampa solo la prima riga, ma ancora una volta, leggi tutto) ecc.
Userei:
awk 'FNR <= 1' file_*.txt
Come sottolinea @Kusalananda, ci sono molti modi per acquisire la prima riga nella riga di comando, ma utilizzando head -n 1
potrebbe non essere l'opzione migliore quando si utilizzano caratteri jolly poiché stamperà informazioni aggiuntive. Modifica di 'FNR == i'
a 'FNR <= i'
permette di ottenere le prime i righe.
Ad esempio, se hai n file denominati file_1.txt, ... file_n.txt:
awk 'FNR <= 1' file_*.txt
hello
...
bye
Ma con head
i caratteri jolly stampano il nome del file:
head -1 file_*.txt
==> file_1.csv <==
hello
...
==> file_n.csv <==
bye