Geavanceerd Grep met regex
Pas complexe regex-patronen toe met 'grep' voor zeer specifieke en efficiënte tekstzoekopdrachten in bestanden.
Geavanceerd Grep met regex is een gratis De Linux-opdrachtregel en Bash-scripting beheersen-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De Linux-opdrachtregel en Bash-scripting beheersen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De Linux-opdrachtregel en Bash-scripting beheersen bevat in totaal 4 lessen.
De superkrachten van reguliere expressies in grep
Welkom bij Geavanceerd zoeken met grep en reguliere expressies! In de vorige les heb je kennisgemaakt met reguliere expressies (regex) zelf. Nu gaan we hun volledige potentieel benutten binnen de krachtige opdracht grep.
grep is het hulpmiddel bij uitstek om tekstpatronen in bestanden te zoeken. Door het te combineren met geavanceerde reguliere expressies kun je precies vinden wat je zoekt, ongeacht hoe complex het patroon is.
Uitgebreide reguliere expressies inschakelen (-E)
Standaard gebruikt grep Basic Regular Expressions (BRE). Om geavanceerdere functies zoals +, ?, | en () te gebruiken, moet je Extended Regular Expressions (ERE) inschakelen.
Dat doe je met de optie -E of met de opdracht egrep, die in feite hetzelfde is als grep -E. Maak eerst een voorbeeldbestand om mee te werken:
echo "apple
banana
appanana
orange
app" > fruits.txtKwantificeerders: één of meer (+)
De kwantificeerder + herkent één of meer exemplaren van het voorafgaande teken of de voorafgaande groep. Dit is erg handig wanneer je verwacht dat een patroon minstens één keer wordt herhaald.
Als je regels wilt vinden met een 'p' gevolgd door één of meer 'a's, gebruik je pa+.
grep -E 'pa+' fruits.txtKwantificeerders: nul of meer (*)
De kwantificeerder * herkent nul of meer exemplaren van het voorafgaande teken of de voorafgaande groep. Dit is handig wanneer een teken kan voorkomen, maar niet verplicht is.
Laten we regels vinden met een 'b' gevolgd door nul of meer 'a's:
grep -E 'ba*' fruits.txtKwantificeerders: nul of één (?)
De kwantificeerder ? herkent nul of één exemplaar van het voorafgaande teken of de voorafgaande groep. Je kunt dit zien als het optioneel maken van een teken.
Wil je zowel 'color' als 'colour' vinden? Dan kun je de 'u' optioneel maken:
echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txtSpecifieke aantallen met {} (accolades)
Voor nog meer controle kun je exacte aantallen of bereiken opgeven met accolades {}:
a{3}: precies drie 'a's.a{2,}: twee of meer 'a's.a{1,3}: tussen één en drie 'a's.
Laten we regels vinden waarin 'a' precies twee keer wordt herhaald:
grep -E 'a{2}' fruits.txtAnkers: begin en einde (^, $)
Ankers herkennen geen tekens; ze herkennen posities. Het anker ^ herkent het begin van een regel en $ het einde van een regel.
Dit is belangrijk om ervoor te zorgen dat je patroon de hele regel herkent of precies begint en eindigt waar je dat bedoelt.
^apple: regels die met 'apple' beginnen.banana$: regels die met 'banana' eindigen.^apple$: regels die alleen 'apple' bevatten.
grep -E '^app' fruits.txtAlternatie met OF (|)
Het symbool | (de pipe) werkt als een OF-operator. Hiermee kun je het ene OF het andere patroon herkennen. Dit is bijzonder handig wanneer je tegelijk naar meerdere verschillende woorden of woordgroepen wilt zoeken.
Als je bijvoorbeeld regels wilt vinden die 'apple' of 'orange' bevatten:
grep -E 'apple|orange' fruits.txtPatronen groeperen met ()
Met haakjes () groepeer je delen van een reguliere expressie. Zo kun je kwantificeerders of alternatie op een hele groep toepassen in plaats van op één teken.
Als je bijvoorbeeld 'ana' één of meer keer na 'b' wilt vinden:
grep -E 'b(ana)+' fruits.txtSnelle controle: geavanceerd zoeken met grep
Gegeven het bestand data.txt met de volgende inhoud:
cat
cats
catt
catterpillar
dog
Welke opdracht vindt correct de regels waarin 'cat' wordt gevolgd door nul of meer 't's?
Samenvatting: de kracht van reguliere expressies in grep
Je beheerst nu geavanceerde technieken met grep en Extended Regular Expressions! We hebben behandeld:
-Egebruiken voor functies van uitgebreide reguliere expressies.- Kwantificeerders:
+(één of meer),*(nul of meer),?(nul of één) en{}voor specifieke aantallen. - Ankers:
^(begin van een regel) en$(einde van een regel). - Alternatie met
|voor 'OF'-voorwaarden. - Patronen groeperen met
().
Met deze hulpmiddelen kun je uiterst nauwkeurig en flexibel in tekst zoeken, waardoor je een echte tovenaar van de opdrachtregel wordt!
Leer Bash met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 22
- Lessen
- 88
Veelgestelde vragen
Is de les “Geavanceerd Grep met regex” gratis?
Ja — de volledige tekst van “Geavanceerd Grep met regex” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus De Linux-opdrachtregel en Bash-scripting beheersen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus De Linux-opdrachtregel en Bash-scripting beheersen bevat in totaal 4 lessen.
Wat leer ik in “Geavanceerd Grep met regex”?
Pas complexe regex-patronen toe met 'grep' voor zeer specifieke en efficiënte tekstzoekopdrachten in bestanden. Je oefent met De Linux-opdrachtregel en Bash-scripting beheersen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met De Linux-opdrachtregel en Bash-scripting beheersen te beginnen?
Ervaring vooraf is niet nodig. De Linux-opdrachtregel en Bash-scripting beheersen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Geavanceerd Grep met regex”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over De Linux-opdrachtregel en Bash-scripting beheersen?
Ja. Elke les over De Linux-opdrachtregel en Bash-scripting beheersen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Inleiding tot reguliere expressies (regex)
- Geavanceerd Grep met regex
- Regex combineren met sed/awk
- Capturegroepen, backreferences en substitutie