π Hoofdstuk 4.1: Tekstbestanden Verwerken in Linux
ββββββββββββββββββββββββββββββ
π οΈ Inleiding:
ββββββββββββββββββββββββββββββ
Linux biedt krachtige tools om tekstbestanden te filteren, formatteren en analyseren.
Belangrijke commandoβs in dit hoofdstuk:
cut β’ grep β’ sort β’ cat β’ printf β’ wc
ββββββββββββββββββββββββββββββ
π Filteren van Tekstbestanden:
ββββββββββββββββββββββββββββββ
π Begrippen:
β’ Record = EΓ©n tekstregel (eindigt met LF)
β’ Delimiter = Teken dat velden in een regel scheidt
β’ Standaard delimiter: tab (`\t`)
β’ Veelgebruikte delimiters: spatie, dubbele punt (`:`)
ββββββββββββββββββββββββββββββ
βοΈ cut β Velden of tekens extraheren
ββββββββββββββββββββββββββββββ
Optie | Betekenis
----------|----------------------------------------------------
-c nlist | Alleen opgegeven tekens tonen (bijv. 1-5)
-b blist | Alleen opgegeven bytes tonen
-d d | Delimiter wijzigen (standaard: tab)
-f flist | Alleen opgegeven velden tonen (bijv. 1,3)
-s | Sla regels zonder delimiter over
-z | Gebruik NUL als recordscheiding i.p.v. LF
β Voorbeeld:
cut -d: -f1,3 /etc/passwd
βΆ Toont gebruikersnamen + UID uit `/etc/passwd`
ββββββββββββββββββββββββββββββ
π grep β Tekst zoeken met regex
ββββββββββββββββββββββββββββββ
Optie | Betekenis
----------|-----------------------------------------------------
-c | Tel het aantal overeenkomende regels
-d action | Wat te doen bij directories (bijv. skip, recurse)
-E | Gebruik uitgebreide regex (ERE)
-i | Hoofdletterongevoelig zoeken
-R / -r | Doorzoek subdirectories
-v | Toon regels die **niet** overeenkomen
β Voorbeeld:
grep -E "^root|^dbus" /etc/passwd
βΆ Zoek regels die beginnen met `root` of `dbus`
ββββββββββββββββββββββββββββββ
π Formatteren van Tekst:
ββββββββββββββββββββββββββββββ
π’ sort β Regels sorteren
Optie | Betekenis
----------|-----------------------------------------------------
-n | Sorteer op numerieke waarde
-c | Controleer of bestand al gesorteerd is
-f | Negeer hoofdletterverschillen
-k n1[,n2]| Sorteer op veld(en)
-M | Sorteer op maandnamen (JAN, FEB...)
β Voorbeeld:
sort -k2 -n data.txt
βΆ Sorteer op 2e veld, numeriek
π cat β Bestanden samenvoegen / tonen
Optie | Betekenis
----------|-----------------------------------------------------
-A | Toon speciale tekens en regelafbrekingen
-E | Toon `$` aan eind van regels
-n | Voeg regelnummers toe
-s | Verwijder dubbele lege regels
-T | Toon tabs als `^I`
β Voorbeeld:
cat -n /etc/passwd
βΆ Toon `/etc/passwd` met regelnummers
π¨οΈ printf β Tekst opmaken
Code | Betekenis
--------|-----------------------------
%c | Teken
%d | Decimaal getal
%f | Floating point getal
%s | String
\% | Toon %
\n | Nieuwe regel
\t | Tab
β Voorbeeld:
printf "User: %s, ID: %d\n" root 0
βΆ Output: `User: root, ID: 0`
ββββββββββββββββββββββββββββββ
π Analyseren van Tekst:
ββββββββββββββββββββββββββββββ
π’ wc β Woorden, regels, tekens tellen
Optie | Betekenis
----------|-----------------------------
-c | Aantal bytes
-L | Lengte langste regel
-l | Aantal regels
-m | Aantal tekens
-w | Aantal woorden
β Voorbeeld:
wc -l /etc/passwd
βΆ Telt aantal regels in `/etc/passwd`
ββββββββββββββββββββββββββββββ