Er zijn veel Linux-commando's en -hulpmiddelen die worden gebruikt om tekstbestanden te verwerken. Maar er zijn momenten waarop u niet de hele inhoud van een bestand wilt lezen, maar eerder een specifiek deel ervan. Weet je dat je de commando's kop en staart op Linux kunt gebruiken om respectievelijk het begin en het einde van een bestand uit te voeren?
Lees verder om te ontdekken hoe u deze twee opdrachten kunt gebruiken om effectief tekst op Linux te verwerken en te manipuleren.
Wat is het hoofdcommando?
Het head-commando wordt gebruikt om de eerste delen van een bestand af te drukken. Het leest de bestanden vanaf het begin. Als u een bestand heeft dat meer dan duizend regels bevat, zou het erg omslachtig zijn om het te openen en te lezen. U kunt eenvoudig een paar regels van bovenaf afdrukken met behulp van het hoofdcommando.
De syntaxis van het hoofdcommando
De basissyntaxis van het hoofdcommando is:
hoofd[keuze][bestand]
Naast het hoofdcommando zijn er veel opties beschikbaar, waarvan sommige later worden besproken. Naar
krijg hulp via de opdrachtregel met betrekking tot het head-commando, controleer de handleidingpagina door het volgende uit te voeren:mannen hoofd
Hoe het hoofdcommando te gebruiken
Maak voor dit voorbeeld een bestand aan: getallen.txt. Noteer in het bestand de nummers één tot en met 20 in woorden. U kunt ervoor kiezen om elk bestand naar keuze te gebruiken, maar zorg ervoor dat het ten minste 11 regels heeft.
Het standaard head-commando gebruiken
Standaard drukt het head-commando de eerste 10 regels tekst in een bestand af. Probeer het uit met het bestand numbers.txt door deze opdracht in uw terminal uit te voeren:
hoofdnummers.tekst
Het zal de eerste 10 regels van het bestand afdrukken:
een
twee
drie
vier
vijf
zes
zeven
acht
negen
tien
Als het bestand minder dan 10 regels heeft, zal het commando head alle aanwezige regels afdrukken.
Druk het eerste N aantal regels af
U kunt de opdracht head gebruiken om een specifiek aantal regels af te drukken in plaats van de standaard 10. Voer deze opdracht uit om de eerste drie regels van het bestand numbers.txt af te drukken:
hoofd-N 3 nummers.tekst
Het resultaat:
een
twee
drie
Sluit de laatste N regels uit met behulp van het hoofdcommando
Net zoals je de eerste regels van een tekst kunt uitprinten, kun je er ook voor kiezen om de laatste N regels uit te printen. U kunt dit doen door een negatief getal te gebruiken voor de parameter N.
Voer het volgende uit om de laatste 15 regels van het bestand numbers.txt uit te sluiten:
hoofd-N-15nummers.tekst
Het resultaat:
een
twee
drie
vier
vijf
Druk de eerste N tekens van een bestand af
Het head-commando heeft ook de mogelijkheid om het eerste aantal tekens of bytes in een bestand af te drukken. U kunt dit doen door gebruik te maken van de -C keuze. Om de eerste 10 tekens af te drukken, gebruikt u:
hoofd-C 10 nummers.tekst
Uitgang:
een
twee
e
Wat is het staartcommando?
Zoals de naam al aangeeft, drukt het commando tail de laatste regels van een bestand af. Het leest de bestanden vanaf het einde en voert de eindregels uit.
De syntaxis van de staartopdracht
De basissyntaxis van het staartcommando is:
staart[keuze][bestand]
Raadpleeg voor meer informatie over het staartcommando de handleidingpagina door het volgende uit te geven:
mannen staart
Hoe het staartcommando te gebruiken
We zullen het reeds gemaakte numbers.txt-bestand gebruiken voor de volgende voorbeelden.
Het standaard staartcommando gebruiken
De opdracht tail geeft de laatste 10 regels van een bestand weer wanneer deze wordt gebruikt zonder speciale opties. Bijvoorbeeld:
staartnummers.tekst
De uitvoer geeft de laatste 10 regels weer zoals vermeld:
elf
twaalf
dertien
veertien
vijftien
zestien
zeventien
achttien
negentien
twintig
Druk het laatste N aantal regels af
In een situatie waarin u niet de laatste 10 regels wilt afdrukken, maar een bepaald aantal, kunt u de -N optie om dat te bereiken. Voer deze opdracht uit om de laatste vier regels van het bestand numbers.txt af te drukken:
staart-N 4 nummers.tekst
Het resultaat:
zeventien
achttien
negentien
twintig
Regels na een specifieke regel afdrukken
Als u vanaf een bepaalde regel N wilt beginnen, kunt u de -N optie naast een positief getal om dat te bereiken. Voer deze opdracht uit om de uitvoer van het bestand numbers.txt vanaf de 17e regel af te drukken:
staart-N +17 nummers.tekst
Het resultaat:
zeventien
achttien
negentien
twintig
Druk de laatste N tekens van een bestand af
Net als bij het commando head kunt u de laatste paar tekens in het bestand afdrukken met behulp van de -C keuze. Voer deze opdracht uit om de laatste 10 tekens van het bestand numbers.txt af te drukken:
staart-C 10 nummers.tekst
Het resultaat:
nl
twintig
De kop- en staartopdrachten gebruiken met meerdere bestanden
U kunt ook kop en staart gebruiken om meer dan één bestand tegelijk af te drukken. Dit is de syntaxis voor het gebruik van de opdrachten met meerdere bestandsinvoeren:
hoofd[keuze][bestand1][bestand2]
staart[keuze][bestand1][bestand2]
De kop- en staartcommando's samen gebruiken
U kunt zelfs kop en staart gebruiken in dezelfde opdracht met behulp van het pijpsymbool. Het pijpsymbool leidt de uitvoer van één opdracht om als input voor een ander.
Om bijvoorbeeld de zesde, zevende en achtste regel te krijgen, kunt u deze opdracht uitvoeren:
kop -n 8 getallen.txt | staart -n 3
Het resultaat:
zes
zeven
acht
In de eerder genoemde oneliner gaf het head-commando vervolgens de eerste acht regels van het bestand weer de uitvoer werd doorgegeven aan het staartcommando, dat de laatste drie regels van de omgeleide afdrukte uitgang.
kop en staart: handige commando's voor tekstmanipulatie
Linux biedt veel commando's om je te helpen bij het effectief manipuleren en verwerken van tekstbestanden, en de kop- en staartcommando's zijn slechts twee van de vele. De meest voorkomende commando's voor tekstmanipulatie zijn grep, uniq, sort, sed, awk, etc. Elk van hen vervult een ander doel met zijn unieke functieset.
Afgezien van kop en staart, zijn er tal van andere commando's voor tekst- en bestandsmanipulatie beschikbaar voor Linux-gebruikers.