Linux knip-commando uitgelegd voor beginners (met voorbeelden)

Als je in Linux de inhoud van een bestand op stdout wilt afdrukken, is het eerste commando dat in je opkomt cat. Er kunnen echter momenten zijn waarop het nodig is om een bepaald deel van het bestand te verwijderen en alleen de rest van de inhoud af te drukken. Je zult blij zijn te weten dat er een hulpmiddel bestaat – dat cut heet – waarmee je dit kunt doen.

In dit artikel zullen we dit gereedschap bespreken aan de hand van enkele gemakkelijk te begrijpen voorbeelden. Maar voor we dat doen, is het de moeite waard te vermelden dat alle voorbeelden in dit artikel getest zijn op een Ubuntu 18.04 LTS machine.

Linux knip commando

Met het knip commando in Linux kunnen gebruikers secties uit elke regel van bestanden verwijderen. Hieronder volgt de syntaxis ervan:

cut OPTION... [FILE]...

Hier is wat de man pagina over dit hulpprogramma zegt:

       Print selected parts of lines from each FILE to standard output.

       With no FILE, or when FILE is -, read standard input.

En hierna volgen enkele vraag-antwoord-achtige voorbeelden die je een goed idee moeten geven over hoe dit hulpprogramma werkt.

Q1. Hoe gebruik je het knip commando?

Het cut commando verwacht dat de gebruiker een lijst van bytes, karakters, of velden opgeeft. Je kunt bytes opgeven met de -b commandoregeloptie.

Bijvoorbeeld, stel dat er een bestand is met de naam file1.txt dat de volgende regel bevat:

abcdefghijklmnopqrstuvwxyz

En je wilt alleen de eerste drie bytes laten zien. Dan kun je in dit geval de -b optie op de volgende manier gebruiken:

cut file1.txt -b1,2,3

De uitvoer zal zijn:

abc

Je kunt ook een bereik opgeven:

cut file1.txt -b1-10

Hieronder volgt de uitvoer die in dit geval wordt geproduceerd:

abcdefghij

Verder gaand kun je ook een streepje (-) met een getal gebruiken om het knip-commando te vertellen dat het ofwel alle bytes na de byte op dat getal, ofwel alle bytes vóór de byte op dat getal moet weergeven.

Bijvoorbeeld, het volgende commando zorgt ervoor dat alle bytes inclusief en na die op nummer 5 getoond worden.

cut file1.txt -b5-

En het volgende commando geeft de eerste 5 bytes weer:

cut file1.txt -b-5

Hoe gebruik je het knip-commando

Q2. Hoe om te gaan met tekens?

Soms bevat het bestand dat je aan het knip-commando doorgeeft tekens die meer dan een byte groot zijn. In dat geval is het raadzaam de -c optie te gebruiken, die het gereedschap correct laat begrijpen welke tekens je wilt weergeven of verwijderen.

Bijvoorbeeld, ♣ is een speciaal teken dat meerdere bytes in beslag neemt. Wil je dus het knip-commando gebruiken op een tekststroom die dit soort tekens bevat, dan is het beter om -c te gebruiken in plaats van -b. Functioneel gezien werken zowel -c als -b op dezelfde manier.

Q3. Hoe werkt knippen met scheidingstekens?

Je kunt het knip-commando ook met scheidingstekens laten werken. Hiervoor kun je de -d commandoregeloptie gebruiken.

Stel bijvoorbeeld dat het invoerbestand door komma’s gescheiden velden bevat:

Howtoforge, HTF, howtoforge.com
FaqForge, FF, faqforge.com

En je wilt alleen de eerste en derde invoer, dan kan dat op de volgende manier:

cut file1.txt -d, -f1,3

Merk op dat de -f optie je laat kiezen welke velden je wilt weergeven.

Conclusie

Je ziet dus dat het knip commando veel van je tijd kan besparen als de taak selectieve uitvoer van de inhoud van een bestand inhoudt. Hier, in deze zelfstudie, hebben we enkele basis commandoregel opties besproken die dit gereedschap biedt. Om meer te leren, ga je naar de man pagina van het gereedschap.