Jedná se o doplněk Ocas příkaz. Příkaz head, jak název napovídá, vypíše prvních N počet dat daného vstupu. Ve výchozím nastavení vytiskne prvních 10 řádků zadaných souborů. Pokud je zadán více než jeden název souboru, pak před údaji z každého souboru bude uveden jeho název.
Syntax:
head [OPTION]... [FILE]...>
Uvažujme dva soubory s názvem state.txt a capital.txt obsahuje všechny názvy indických států a hlavních měst.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh Goa Gujarat Haryana Himachal Pradesh Jammu and Kashmir Jharkhand Karnataka Kerala Madhya Pradesh Maharashtra Manipur Meghalaya Mizoram Nagaland Odisha Punjab Rajasthan Sikkim Tamil Nadu Telangana Tripura Uttar Pradesh Uttarakhand West Bengal>
$ cat capital.txt Hyderabad Itanagar Dispur Patna Raipur Panaji Gandhinagar Chandigarh Shimla Srinagar>
Bez jakékoli možnosti zobrazí pouze prvních 10 řádků zadaného souboru.
Příklad:
$ head state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh Goa Gujarat Haryana Himachal Pradesh Jammu and Kashmir>
Možnosti
1. -n zda: Vytiskne prvních 10 řádků místo prvních 10 řádků. na jednom je nutné zadat v příkazu, jinak zobrazí chybu.
$ head -n 5 state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
2. -c zda: Vytiskne první „počet“ bajtů ze zadaného souboru. Nový řádek se počítá jako jeden znak, takže pokud hlava vytiskne nový řádek, bude to počítat jako bajt. na jednom je povinné specifikovat v příkazu, jinak zobrazí chybu.
$ head -c 6 state.txt Andhra>
3. -q: Používá se, pokud je zadán více než 1 soubor. Kvůli tomuto příkazu nepředchází data z každého souboru název souboru.
Without using -q option $ head state.txt capital.txt ==>state.txt kapitál.txt<== Hyderabad Itanagar Dispur Patna Raipur Panaji Gandhinagar Chandigarh Shimla Srinagar With using -q option $ head -q state.txt capital.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh Goa Gujarat Haryana Himachal Pradesh Jammu and Kashmir Hyderabad Itanagar Dispur Patna Raipur Panaji Gandhinagar Chandigarh Shimla Srinagar>
4. -v: Při použití této možnosti je před daty ze zadaného souboru vždy uveden název souboru.
$ head -v state.txt ==>state.txt<== Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh Goa Gujarat Haryana Himachal Pradesh Jammu and Kashmir>
Aplikace head Command
- Tisk čáry mezi M a N řádky (M>N): K tomuto účelu používáme příkazy head, tail a pipeline(|). Příkaz je: head -M název_souboru | ocas +N protože příkaz head vezme prvních M řádků a z M lines příkaz tail ořízne řádky od +N do konce, můžeme také použít head -M název_souboru | ocas +(M-N+1) příkaz, protože příkaz head vezme prvních M řádků az M řádků příkaz tail vyřízne (M-N+1) řádky začínající od konce. Řekněme, že ze souboru state.txt musíme vytisknout řádky mezi 10 a 20.
$ head -n 20 state.txt | tail -10 Jharkhand Karnataka Kerala Madhya Pradesh Maharashtra Manipur Meghalaya Mizoram Nagaland Odisha>
- Jak používat hlavičku s pipeline(|): Příkaz head lze spojit s jinými příkazy. V následujícím příkladu je výstup příkazu ls přesměrován do hlavy, aby se zobrazily pouze tři naposledy upravené soubory nebo složky.
Display all recently modified or recently used files. $ ls -t e.txt d.txt c.txt b.txt a.txt Cut three most recently used file. $ ls -t | head -n 3 e.txt d.txt c.txt>
- Může být také spojen s jedním nebo více filtry pro dodatečné zpracování. Třídicí filtr lze například použít k řazení tří naposledy použitých souborů nebo složek v abecedním pořadí.
$ ls -t | head -n 3 | sort c.txt d.txt e.txt>
- Existuje řada dalších filtrů nebo příkazů, u kterých používáme příkaz head. Především jej lze použít pro prohlížení velkých log souborů v Unixu.