Pro zpracování textových souborů se používá mnoho Linuxových příkazů a nástrojů. Ale jsou chvíle, kdy nechcete číst celý obsah souboru, ale spíše jeho konkrétní část. Víte, že v Linuxu můžete použít příkazy head a tail k výstupu začátků a konců souboru?

Čtěte dále a zjistěte, jak můžete tyto dva příkazy použít k efektivnímu zpracování a manipulaci s textem v systému Linux.

Co je hlavní příkaz?

Příkaz head se používá k vytištění počátečních částí souboru. Čte soubory od začátku. Pokud máte soubor, který má přes tisíc řádků, bylo by velmi těžkopádné jej otevřít a číst. Pomocí příkazu head můžete jednoduše vytisknout pár řádků shora.

Syntaxe příkazu hlavy

Základní syntaxe příkazu head je:

hlava[volba][soubor]

Vedle příkazu hlavy je k dispozici mnoho možností, z nichž některé budou probrány později. Na získat nápovědu příkazového řádku pokud jde o příkaz head, zkontrolujte jeho manuálovou stránku spuštěním:

mužská hlava

Jak používat příkaz hlavy

Pro tento příklad vytvořte soubor: čísla.txt. V souboru vypište slovně čísla jedna až 20. Můžete použít libovolný soubor podle svého výběru, ale ujistěte se, že má alespoň 11 řádků.

Použití příkazu Výchozí hlava

Ve výchozím nastavení příkaz head vytiskne prvních 10 řádků textu v souboru. Vyzkoušejte to se souborem numbers.txt provedením tohoto příkazu ve vašem terminálu:

hlavačísla.txt

Vytiskne prvních 10 řádků souboru:

jeden
dva
tři
čtyři
Pět
šest
sedm
osm
devět
deset

Pokud má soubor méně než 10 řádků, příkaz head vytiskne všechny přítomné řádky.

Vytiskněte prvních N počet řádků

Pomocí příkazu head můžete místo výchozích 10 vytisknout určitý počet řádků. Chcete-li vytisknout první tři řádky souboru numbers.txt, spusťte tento příkaz:

hlava-n 3 čísla.txt

Výsledek:

jeden
dva
tři

Vyloučit posledních N řádků pomocí příkazu head

Stejně jako můžete vytisknout první řádky textu, můžete se také rozhodnout, že při tisku vyřadíte posledních N řádků. To lze provést použitím záporného čísla pro parametr N.

Chcete-li vyloučit posledních 15 řádků souboru numbers.txt, spusťte:

hlava-n-15čísla.txt

Výsledek:

jeden
dva
tři
čtyři
Pět

Vytiskněte prvních N znaků souboru

Příkaz head má také možnost vytisknout první počet znaků nebo bajtů v souboru. Můžete to udělat pomocí -C volba. Chcete-li vytisknout prvních 10 znaků, použijte:

hlava-C 10 čísla.txt

Výstup:

jeden
dva
čt

Co je příkaz ocasu?

Jak název napovídá, příkaz tail vytiskne poslední řádky souboru. Čte soubory od konce a vydává koncové řádky.

Syntaxe příkazu ocas

Základní syntaxe příkazu tail je:

ocas[volba][soubor]

Další informace o příkazu tail naleznete na jeho manuálové stránce zadáním:

 mužský ocas

Jak používat příkaz ocas

Pro následující příklady použijeme již vytvořený soubor numbers.txt.

Použití příkazu Výchozí ocas

Příkaz tail vypíše posledních 10 řádků souboru, pokud je použit bez jakýchkoli speciálních voleb. Například:

ocasčísla.txt

Výstup zobrazí posledních 10 řádků, jak je uvedeno:

jedenáct
dvanáct
13
čtrnáct
patnáct
šestnáct
sedmnáct
osmnáct
devatenáct
dvacet

Vytiskněte poslední N počet řádků

V situaci, kdy nechcete vytisknout posledních 10 řádků, ale konkrétní číslo, můžete použít -n možnost, jak toho dosáhnout. Chcete-li vytisknout poslední čtyři řádky souboru numbers.txt, spusťte tento příkaz:

ocas-n 4 čísla.txt

Výsledek:

sedmnáct
osmnáct
devatenáct
dvacet

Tisk řádků po určitém řádku

Pokud chcete začít od konkrétního řádku N, můžete použít -n možnost vedle kladného čísla, abyste toho dosáhli. Chcete-li vytisknout výstup souboru numbers.txt ze 17. řádku, proveďte tento příkaz:

ocas-n +17 čísla.txt

Výsledek:

sedmnáct
osmnáct
devatenáct
dvacet

Vytiskněte posledních N znaků souboru

Stejně jako u příkazu head můžete vytisknout posledních několik znaků v souboru pomocí -C volba. Chcete-li vytisknout posledních 10 znaků souboru numbers.txt, proveďte tento příkaz:

ocas-C 10 čísla.txt

Výsledek:

en
dvacet

Použití příkazů hlavy a ocasu s více soubory

Můžete také použít hlavu a patu k tisku více než jednoho souboru najednou. Toto je syntaxe pro použití příkazů s více vstupy souborů:

hlava[volba][soubor 1][soubor 2]
ocas[volba][soubor 1][soubor 2]

Použití příkazů hlavy a ocasu společně

Můžete dokonce použít hlavu a ocas ve stejném příkazu pomocí symbolu potrubí. Symbol potrubí přesměruje výstup jednoho příkazu jako vstup do druhého.

Chcete-li například získat šestý, sedmý a osmý řádek, můžete provést tento příkaz:

hlava -n 8 čísel.txt | ocas -n 3

Výsledek:

šest
sedm
osm

Ve výše uvedeném jednořádkovém řádku pak příkaz head zobrazil prvních osm řádků souboru výstup byl předán příkazu tail, který vytiskl poslední tři řádky přesměrovaného výstup.

hlava a ocas: Užitečné příkazy pro manipulaci s textem

Linux nabízí spoustu příkazů, které vám pomohou efektivně manipulovat a zpracovávat textové soubory, a příkazy head a tail jsou jen dva z mnoha. Mezi nejběžnější příkazy pro manipulaci s textem patří grep, uniq, sort, sed, awk atd. Každý z nich plní svou jedinečnou sadou funkcí jiný účel.

Kromě hlavy a paty je pro uživatele Linuxu k dispozici spousta dalších příkazů pro manipulaci s textem a soubory.