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

instagram viewer
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.