Možná víte, že příkaz cat se používá k tisku obsahu souboru na terminál. kočka příkaz vytiskne celý soubor na terminál.
Head je další způsob, jak zobrazit textový soubor v Linuxu. Můžete použít hlavu příkaz pro tisk zadaného počtu řádků od začátku souboru.
Zde je syntaxe příkazu head:
head [option] [filename]
7 příkladů příkazu hlavy
Pojďme se na praktických příkladech naučit používat příkaz head v Linuxu.
V tomto příkladu použiji soubor agatha.txt a zde je obsah tohoto textového souboru. Soubor si můžete stáhnout, abyste si procvičili příkazy podle tohoto návodu:
The Mysterious Affair at Styles
The Secret Adversary
The Murder on the Links
The Man in the Brown Suit
The Secret of Chimneys
The Murder of Roger Ackroyd
The Big Four
The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
Giant's Bread
The Floating Admiral
The Sittaford Mystery
Peril at End House
Lord Edgware Dies
Murder on the Orient Express
Unfinished Portrait
Why Didn't They Ask Evans?
Three Act Tragedy
Death in the Clouds
Pokud u příkazu head nepoužijete žádné možnosti, ve výchozím nastavení vytiskne prvních 10 řádků
head agatha.txt
The Mysterious Affair at Styles
The Secret Adversary
The Murder on the Links
The Man in the Brown Suit
The Secret of Chimneys
The Murder of Roger Ackroyd
The Big Four
The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
Pokud má soubor méně než deset řádků, vytiskne samozřejmě všechny řádky.
1. Vytiskněte horních N řádků pomocí příkazu head
Pokud potřebujete vytisknout určitý počet řádků, můžete použít volbu -n následovanou počtem řádků.
Chcete-li například zobrazit první 3 řádky, můžete použít toto:
head -n 3 agatha.txt
The Mysterious Affair at Styles
The Secret Adversary
The Murder on the Links
2. Vytisknout všechny kromě posledních N řádků
Můžete vyloučit konkrétní počet řádků na konci souboru a vytisknout zbývající obsah souboru zadáním záporného čísla do volby -n.
Pokud například chcete ponechat posledních 15 řádků souboru, můžete použít tento příkaz:
head -n -15 agatha.txt
The Mysterious Affair at Styles
The Secret Adversary
The Murder on the Links
The Man in the Brown Suit
The Secret of Chimneys
3. Použití více souborů pomocí příkazu head
Jako vstup do příkazu head můžete zadat více než jeden soubor.
head -n N file1 file2 file3
Pokud například musíte zobrazit první dva řádky dvou souborů, můžete použít něco takového:
head -n 2 agatha.txt sherlock.txt
==> agatha.txt <==
The Mysterious Affair at Styles
The Secret Adversary
==> sherlock.txt <==
A Scandal in Bohemia
The Red-Headed League
Jak můžete vidět, výstup pro každý soubor je oddělen ==> název_souboru <==.
4. Práce s hlavičkou ve výstupu
Jak jste viděli v posledním příkladu, příkaz head vytiskne název souboru jako záhlaví nad výstupem každého souboru, aby je oddělil.
Můžete použít volbu -q (tichý režim) k vynechání názvu souboru z výstupu.
head -q -n 2 agatha.txt sherlock.txt
The Mysterious Affair at Styles
The Secret Adversary
A Scandal in Bohemia
The Red-Headed League
Možná jste si také všimli, že záhlaví se netiskne pro jeden vstupní soubor. Můžete jej vynutit, aby vytiskl název souboru pomocí volby -v (podrobný režim).
head -v -n 2 agatha.txt
==> agatha.txt <==
The Mysterious Affair at Styles
The Secret Adversary
Poznámka – Velikost jednoho znaku je jeden bajt.
5. Tisk konkrétního počtu bajtů/znaků
Pokud potřebujete vytisknout určitý počet bajtů souboru, můžete použít volbu -c následovanou číslem.
Obvykle je velikost jednoho znaku jeden bajt. Takže si to můžete představit jako tisk určitého počtu znaků.
head -c3 agatha.txt
The
Můžete také vyloučit určitý počet bajtů na konci, jako jste vyloučili určitý počet řádků na konci. Chcete-li to provést, zadejte zápornou hodnotu do volby -c.
head -c -50 agatha.txt
Bonusový tip:Vytiskněte N počet řádků souboru podle kombinování povelů pro hlavu a ocas
Co když chcete vytisknout N počet řádků uprostřed souboru?
Pokud například chcete vytisknout řádky od 10 do 15 souboru, můžete zkombinovat příkaz head s příkazem tail.
head -n 15 agatha.txt | tail -n +10
Příkaz head vytiskne prvních 15 řádků souboru. Poté příkaz tail převezme tento výstup a vytiskne všechny řádky počínaje řádkem číslo 10. Tím získáte řádky od 10 do 15.
Pokud chcete vytisknout pouze n-tý řádek, můžete to udělat opětovným zkombinováním hlavy a paty.
head -n 15 agatha.txt | tail -n 1
Příkaz head tedy vytiskne prvních 15 řádků souboru a poté příkaz tail vytiskne poslední řádek tohoto výstupu. Získáte tedy 15. řádek.
Doufám, že jste pochopili použití příkazu hlavy a jeho možností. Máte-li jakýkoli dotaz, napište komentář níže!