Met de commando’s head en tail kun je de bovenkant (head) en onderkant (tail) van een file laten zien.
Hier wat meer uileg over deze handige commando’s:
Eerst tail:
tail laat altijd de onderkant (de “staart”) van een file zien.
Specificeren kan op verschillende manier:
tail file: de default. Zonder optie(s) worden de laatste 10 regels getoond.
tail -5 file: de oorspronkelijke manier zonder de “-n vlag”. Dit toont de laatste 5 regels
tail -n 5 file: de “nieuwere” manier. Dit toont ook de laatste 5 regels
tail -n -5 file: hetzelfde als de vorige twee..
tail -n +5 file: (alleen GNU). Toon wederom de onderkant van een file maar nu vanaf regel 5. Dus alle regels vanaf regel 5 en meer worden getoond. Merk op dat dit gebruik alleen door de GNU versie van tail wordt ondersteund.
Echter: de meeste gebruikte optie van tail is -f: met deze optie wordt de onderkant van een file getoond en wordt ook tevens het file open gehouden zodat live kan worden meegekeken met het groeien van het file. -f staat voor “follow” en is handig om bv. logfiles in de gaten te houden.
Bv.: tail -f /var/log/messages (/var/log/syslog bij Linux Mint).
Dan head:
head laat altijd de bovenkant (“de kop”) van een file zien.
Specificeren kan op verschillende manier:
head file: de default. Zonder optie(s) worden de eerste 10 regels getoond.
head -5 file: de oorspronkelijke manier zonder de “-n vlag”. Dit toont de eerste 5 regels
head -n 5 file: de “nieuwere” manier. Dit toont ook de eerste 5 regels
head -n +5 file: hetzelfde als de vorige twee..
head -n -5 file: (alleen GNU). Toon wederom de bovenkant van een file maar laat nu de laatste 5 regels weg. Dus alle regels behalve de laatste 5 worden getoond. Merk op dat dit gebruik alleen door de GNU versie van head wordt ondersteund.
Merk op dat je dus een negatieve waarde bij tail (tail -n -5) en een positieve waarde bij head (head -n +5) kan gebruiken. Maar die doen hetzelfde als wanneer je het teken weg laat (tail -n 5 en head -n 5).
Merk verder op dat de GNU versies van tail en head een positive waarde bij tail (tail -n +5) en een negatieve waarde bij head (head – n -5) ondersteunen. Overigens zullen alle Linux-en wel de GNU versie hebben.
Vraag: hoe toon je nu makkelijk regels 12 t/m 18 uit een file?
Antwoord: head -n 18 file | tail -n +12