Unix filtering met Reguliere Expressies

Piet W. Plomp

<piet@poppix.xs4all.nl>

Met behulp van awk zal het Unix filtermodel worden geïntroduceerd. Er wordt uitgelegd hoe een file wordt ingelezen en bij het inlezen wordt gesplitst in zogenaamde records en fields. Er wordt uitgelegd hoe met patronen records kunnen worden geselecteerd waarop bewerkingen kunnen worden gedaan. Die patronen heten reguliere expressies (REs).

Vervolgens worden elementen van REs geïntroduceerd:

  • tokens, waaronder character classes, met al dan niet gecombineerde ranges, inverse classes, POSIX classes, Perl tokens en classes.
  • multipliers, zowel de luxe Perl vormen als de wat simpeler versies in awk en de onhandige vormen van sed.
  • ankers, voor zowel records als fields.

Daarna wordt getoond hoe in Perl records kunnen worden ingelezen en geselecteerd. Het splitsen van een record in fields is in Perl een expliciete handeling, die op verschillende manieren kan worden gedaan.

Vaak is deze stap echter niet nodig, omdat met een Perl Reguliere Expressie een specifiek deel van een record kan worden geëxtraheerd. Er worden hiervan twee methoden getoond, de eerste met gebruikmaking van ingebouwde variabelen, de andere met behulp van gewone scalaire variabelen of array variabelen.

Drs Piet W. Plomp heeft van 1984 tot voorjaar 2000 gewerkt bij de Rijksuniversiteit Groningen. Een groot deel van die tijd heeft hij doorgebracht bij het ICCE, waar hij zich bezighield met o.a. onderwijs in Linux en Perl. Een deel van 2000 heeft hij gewerkt bij de inmiddels gesloten Linux poot van Le Reseau BV als Linux en Perl docent en consultant. Inmiddels werkt hij bij Snow BV, met als hoofdtaak onderwijs.


Last modified: September 12, 2000 (mk)
[Go to: Too little, too slow; memory management in de praktijk (Rik van Riel)] [Go to: Linux Failsafe (Lars Marowsky-Brée)] [Go to: Index]