Ano, to je jeden způsob, jak získat první řádek výstupu z příkazu.
Pokud příkaz vydá cokoliv se standardní chybou, kterou byste chtěli zachytit stejným způsobem, musíte přesměrovat standardní chybu příkazu na standardní výstupní proud:
utility 2>&1 | head -n 1
Existuje mnoho dalších způsobů, jak zachytit první řádek, včetně sed 1q
(ukončit po prvním řádku), sed -n 1p
(vytiskněte pouze první řádek, ale přečtěte si vše), awk 'FNR == 1'
(vytiskněte pouze první řádek, ale znovu si přečtěte vše) atd.
Použil bych:
awk 'FNR <= 1' file_*.txt
Jak zdůrazňuje @Kusalananda, existuje mnoho způsobů, jak zachytit první řádek v příkazovém řádku, ale pomocí head -n 1
nemusí být nejlepší volbou při použití zástupných znaků, protože vytiskne další informace. Změna 'FNR == i'
na 'FNR <= i'
umožňuje získat první řádky i.
Například, pokud máte n souborů s názvem soubor_1.txt, ... soubor_n.txt:
awk 'FNR <= 1' file_*.txt
hello
...
bye
Ale s head
zástupné znaky vytisknou název souboru:
head -1 file_*.txt
==> file_1.csv <==
hello
...
==> file_n.csv <==
bye