Provided by: manpages-nl_20051127-4_all
 

NAAM

        grep, egrep, fgrep - druk regels af, die een patroon passen
 

OVERZICHT

        grep [opties] PATROON [BESTAND...]
        grep [opties] [-e PATROON | -f BESTAND] [BESTAND...]
 

BESCHRIJVING

        Grep  zoekt de genoemde invoer BESTANDen (of ‘standaardinvoer’ als geen
        bestanden genoemd zijn, of als de bestandnaam - werd gegeven) op regels
        die  overeenkomen  met  het  gegeven  PATROON.   Normaal  drukt grep de
        passende regels af.
 
        In aanvulling hierop zijn de twee andere  programma’s  egrep  en  fgrep
        beschikbaar.   Egrep  is  gelijk  aan  grep -E.   Fgrep  is  gelijk aan
        grep -F.
 

OPTIES

        -A NUM, --after-context=NUM
               {--nakomende-omgeving} Druk NUM  regels  nakomende  omgeving  af
               achter de passende regels.
 
        -a, --text
               {--text}  Verwerk een binair bestand alsof het tekst was; dit is
               hetzelfde als de --binary-files=text optie.
 
        -B NUM, --before-context=NUM
               {--voorgaande-omgeving} Druk NUM regels voorgaande omgeving vóór
               de passende regels.
 
        -C [NUM], -NUM, --context[=NUM]
               {--omgeving[=]}  Druk NUM regels (standaard 2) af van de uitvoer
               omgeving.
 
        -b, --byte-offset
               {--byte-positie} Druk de byte positie binnen het  invoerbestand,
               voorafgaand aan elke regel uitvoer.
 
        --binary-files=SOORT
               {--binaire-bestanden=}  Als de eerste paar bytes van een bestand
               aangeven dat een bestand binaire gegevens bevat,  neem  dan  aan
               dat het bestand van de soort SOORT is.  Normaal is SOORT binair,
               en grep geeft gewoonlijk of  een  één-regelig  bericht  dat  een
               binair  bestand  past,  of geen bericht als er geen overeenkomst
               is.  Als SOORT without-match {zonder-overeenkomst} is, dan neemt
               grep  aan dat een binair bestand niet past; dit is gelijk aan de
               -I optie.  Als SOORT text is,  dan  verwerkt  grep  een  binaire
               bestand  alsof  het  tekst  was;  dit is gelijk aan de -a optie.
               Waarschuwing: grep --binary-files=text  kan  rotzooi  uitvoeren,
               wat een vervelend gevolg kan hebben als de uitvoer naar een ter‐
               minal gaat en als de terminal driver er iets van uitlegt als een
               opdracht.
 
        -c, --count
               {--tel}  Onderdruk  normale  uitvoer; druk in plaats daarvan een
               optelling van de passende regels af  voor  elk  invoer  bestand.
               Met  de  -v,  --invert-match {--omkeren-overeenkomst} optie (zie
               onder), tel niet-overeenkomende regels.
 
        -d ACTIE, --directories=ACTIE
               {--directories=} Als  een  invoer  bestand  een  directorie  is,
               gebruik ACTIE om het te verwerken. Normaal is ACTIE read {lees},
               wat betekend dat directories gelezen worden  alsof  het  gewonde
               bestanden waren.  Als ACTIE skip {overslaan} is, worden directo‐
               ries in stilte overgeslagen.  Als ACTIE  recurse  {herhaal}  is,
               leest  grep  alle bestanden onder elke directorie, steeds dieper
               in de directorie boom; dit is gelijk aan de -r optie.
 
        -E, --extended-regexp
               {--uitgebreide-reguliere-expressie} Leg PATROON uit als een uit‐
               gebreide reguliere expressie (zie onder).
 
        -e PATROON, --regexp=PATROON
               {--reguliere-expressie=} Gebruik PATROON als een patroon; bruik‐
               baar voor patronen beginnend met -.
 
        -F, --fixed-strings
               {--vaste-string} Leg PATROON uit als een  lijst  vaste  strings,
               verdeeld  door nieuweregels, waarvan er maar één hoeft te passen
               voor een overeenkomst.
 
        -f BESTAND, --file=BESTAND
               {--bestand=} Verkrijg patronen van BESTAND, één per regel.   Het
               lege bestand bevat nul patronen, en past daarom niets.
 
        -G, --basic-regexp
               {--basis-reguliere-expressie} Leg PATROON uit als een basis reg‐
               uliere expressie (zie onder). Dit is de gewone gang van zaken.
 
        -H, --with-filename
               {--met-bestandnaam} Druk de bestandnaam af  voor  elke  passende
               regel.
 
        -h, --no-filename
               {--geen-bestandnaam}  Onderdruk het voorvoegen van bestandsnamen
               in de uitvoer wanneer meerdere bestanden worden doorzocht.
 
        --help {--hulp} Geef een kort hulp bericht.
 
        -I     Verwerk een binair bestand als of  het  geen  passende  gegevens
               bevatte;  dit  is  gelijk  aan  de  --binary-files=without-match
               optie.
 
        -i, --ignore-case
               {--negeer-hoofd/kleine-letters}  Negeer  het   verschil   tussen
               hoofd-  en  kleine  letters  in  het  PATROON  en  in  de invoer
               bestanden.
 
        -L, --files-without-match
               {--bestanden-zonder-overeenkomst} Onderdruk gewone uitvoer; druk
               in plaats daarvan de naam van elk invoer bestand af waar normaal
               geen uitvoer van zou zijn worden afgedrukt. Het zoeken zal stop‐
               pen bij de eerste overeenkomst.
 
        -l, --files-with-matches
               {--bestanden-met-overeenkomst} Onderdruk gewone uitvoer; druk in
               plaats daarvan de naam van elk invoer bestand  af  waar  normaal
               uitvoer  van  zou  zijn worden afgedrukt. Het zoeken zal stoppen
               bij de eerste overeenkomst.
 
        --mmap {--mmap} Als mogelijk, gebruik de  mmap(2)  systeem  aanroep  om
               invoer te lezen, in plaats van de standaard read(2) systeem aan‐
               roep.  In  sommige  gevallen  geeft  --mmap  betere  resultaten.
               Echter, --mmap kan onbepaald gedrag veroorzaken (ook coredumpen)
               als het invoerbestand krimpt tijdens het lopen van grep, of  als
               een In/Uit fout optreedt.
 
        -n, --line-number
               {--regel-nummer}  Voeg  voor  elke regel uitvoer het regelnummer
               binnen zijn invoer bestand.
 
        -q, --quiet, --silent
               {--stil},{--zachtjes}  Stil;  onderdruk  normale  uitvoer.   Het
               zoeken zal stoppen bij de eerste overeenkomst.  Zie ook de -s of
               --no-messages {--geen-berichten} optie onder.
 
        -r, --recursive
               {--herhaaldelijk} Lees alle  bestanden  onder  elke  directorie,
               steeds  dieper  in  de  directorie boom; dit is gelijk aan de -d
               recurse {herhaaldelijk} optie.
 
        -s, --no-messages
               {--geen-berichten} Onderdruk fout berichten over  niet-bestaande
               of   onleesbare  bestanden.   Overdraagbaarheids  opmerking:  in
               tegenstelling tot GNU grep, voldeed traditionele grep  niet  aan
               POSIX.2,  omdat de traditionele grep een -q ontbeerde en zijn -s
               optie zich gedroeg zoals GNU grep’s -q optie.  Shell scripts die
               overdraagbaar  bedoeld  zijn naar traditionele grep zouden beide
               -q en -s moeten vermijden en  in  plaats  daarvan  uitvoer  naar
               /dev/null omleiden.
 
        -U, --binary
               {--binair}  Behandel de bestand(en) als binair. Standaard, onder
               MS-DOS en MS-win, gokt grep de bestand soort door te kijken naar
               de  inhoudt  van de eerst gelezen 32KB van het bestand. Als grep
               besluit dat het bestand een tekst bestand is  haalt  het  de  CR
               {regel-overhaal}  karakters uit de originele bestand inhoudt (om
               reguliere expressies met ^ en  $  goed  te  laten  werken).  Het
               opgeven  van  -U  zet  dit gokken opzij, en veroorzaakt dat alle
               bestanden gelezen worden en doorgegeven worden aan  het  passen-
               mechanisme.  Hoe  dan ook, als een bestand een tekst bestand met
               CR/LF paren aan het einde van elke regel is, zal dat ervoor zor‐
               gen  dat  sommige reguliere expressies zullen falen.  Deze optie
               heeft geen zin op andere platformen anders dan MS-DOS en MS-win.
 
        -u, --unix-byte-offsets
               {--unix-byte-positie}  Rapporteer Unix-stijl byte posities. Deze
               optie veroorzaakt dat grep byte posities rapporteert  alsof  het
               bestand  een Unix-stijl tekst bestand was, o.a. met CR karakters
               eruit gehaald. Dit zal dezelfde  uitkomsten  opleveren  als  het
               laten  lopen van grep op een Unix machine. Deze optie heeft geen
               gevolg tenzij de -b optie ook wordt  gebruikt;  het  heeft  geen
               gevolg op andere platformen dan MS-DOS en MS-win.
 
        -V, --version
               {--versie}  Druk  het  versie nummer van grep af op de standaard
               uitvoer. Dit versie nummer zou  bij  alle  bugrapporten  gevoegd
               moeten worden (zie onder).
 
        -v, --invert-match
               {--omkeren-overeenkomst}  Keer  de  manier  van  passen om, door
               niet-passende regels te kiezen.
 
        -w, --word-regexp
               {--woord-reguliere-expressie} Kies alleen regels met overeenkom‐
               sten die hele woorden vormen.  Er wordt getest zodat de passende
               sub-string aan het begin van de regel zit, of voorafgegaan wordt
               door  een niet-woord karakter. Ook moet het aan het einde van de
               regel zitten, of gevolgd worden door  een  niet-woord  karakter.
               Bij  woorden  behorende  karakters  zijn  letters, cijfers en de
               onderstreep {_}.
 
        -x, --line-regexp
               {--regel-reguliere-expressie} Kies alleen die overeenkomsten die
               precies met een hele regel overeenkomen.
 
        -y     Verouderd synoniem voor -i.
 
        -Z, --null
               {--nul}  Voer  een  nul  byte  (het ASCII NULL karakter) uit, in
               plaats van het karakter dat gewoonlijk volgt op een bestandnaam.
               Bijvoorbeeld,  grep  -lZ voert een nul byte uit na elke bestand‐
               naam, in plaats van de gewone nieuweregel.  Deze optie maakt  de
               uitvoer eenduidig, zelfs bij het voorkomen van bestandsnamen die
               ongewone karakters zoals nieuweregels bevatten. Deze  optie  kan
               worden gebruikt met opdrachten zoals find -print0, perl -0, sort
               -z, en xargs -0  om  willekeurige  bestandsnamen  te  verwerken,
               zelfs als die nieuweregel-karakters bevatten.
        Een  reguliere expressie is een patroon dat een set strings beschrijft.
        Reguliere expressies worden op dezelfde manier gebouwd als rekenkundige
        expressies:  door  met  gebruik  van  verschillende operatoren kleinere
        delen samen te binden.
 
        Grep  begrijpt  twee  verschillende  versies  van  reguliere-expressies
        spelling:  “basis”  and “uitgebreid.”  In GNU grep, is er geen verschil
        in bruikbaarheid tussen beide  spellingen.   In  andere  implementaties
        zijn basis reguliere expressies minder krachtig. De volgende beschrijv‐
        ing gaat op voor uitgebreide reguliere expressies; verschillen  met  de
        basis reguliere expressies worden naderhand samengevat.
 
        De  fundamentele bouwstenen zijn de reguliere expressies, die passen op
        een enkel karakter. De meeste karakters, ook alle letters  en  cijfers,
        zijn  reguliere expressies die op zichzelf passen. Elk metakarakter met
        speciale betekenis kan geciteerd worden door het vooraf te  laten  gaan
        door een backslash ’\’.
 
        Een lijst van karakters omsloten door [ en ] past elk enkel karakter in
        die lijst; als het eerste karakter van de lijst het  dakje  ^  is,  dan
        past  het  elk enkel karakter niet in die lijst.  Bijvoorbeeld, de reg‐
        uliere expressie [0123456789] past elk enkel cijfer. Een  interval  van
        karakters mag opgegeven worden door het geven van het eerste en laatste
        karakter, met een  streepje  ertussen.   Tenslotte,  bepaalde  benoemde
        classes  van  karakters  zijn voorgedefinieerd.  Hun namen spreken voor
        zichzelf, en het zijn [:alnum:]  {alpha  numeriek},  [:alpha:]  {alpha‐
        betisch},  [:cntrl:]  {controle tekens}, [:digit:] {cijfers}, [:graph:]
        {grafische tekens}, [:lower:] {kleine letters},  [:print:]  {afdrukbare
        tekens},  [:punct:]  {interpunctie},  [:space:]  {witruimte}, [:upper:]
        {hoofd letters}, en [:xdigit:]  {hexadecimale  cijfers}.   Bijvoorbeeld
        [[:alnum:]]  betekend [0-9A-Za-z], behalve dat de laatste vorm afhanke‐
        lijk is van de POSIX localiteit en de ASCII karakter codering,  terwijl
        de eerste onafhankelijk is van localiteit en karakterset.  (Merk op dat
        de rechte haakjes in deze klasse namen onderdeel zijn van de  symbolis‐
        che  namen,  en  ook gegeven moeten worden bij de ook al rechte haakjes
        die de rechte-haakjes-lijst omsluiten.) De  meeste  metakarakters  ver‐
        liezen hun speciale betekenis binnen een lijst. Om een letterlijke ] op
        te geven, plaats het als eerste in de lijst. Hetzelfde  idee  voor  een
        letterlijke  ^, plaats het overal behalve als eerste. Tenslotte, om een
        letterlijke - bij te voegen, plaats het als laatste.
 
        De punt .  past elk enkel karakter.  Het symbool  \w  is  een  synoniem
        voor [[:alnum:]] en \W is een synoniem voor [^[:alnum]].
 
        Het  dakje  ^  en  het  dollar  teken $, zijn metakarakters die respec‐
        tievelijk de lege string aan het begin, en aan het einde van een  regel
        passen.   De  symbolen  \< en \>, passen respectievelijk de lege string
        aan het begin, en aan het einde van een woord.  Het symbool \b past  de
        lege  string  aan  de rand van een woord, en \B past de lege string als
        het niet de rand van een woord is.
 
        Een reguliere expressie mag gevolgd worden door een of meerdere herhaal
        operatoren:
        ?      Het  voorgaande  item  is  niet  vereist en past ten hoogste één
               maal.
        *      Het voorgaande item zal nul of meer keer gepast worden.
        +      Het voorgaande item zal één  of meer keer gepast worden.
        {n}    Het voorgaande item zal precies n keer gepast worden.
        {n,}   Het voorgaande item zal n of meer keer gepast worden.
        {n,m}  Het voorgaande item zal minstens n keer, maar niet  meer  dan  m
               keer gepast worden.
 
        Twee  reguliere  expressies  kunnen  achter elkaar aan worden gezet; de
        reguliere expressie die dat oplevert past elk string  die  bestaat  uit
        het  achter  elkaar  aan  zetten  van twee sub-strings die de twee sub-
        expressies, respectievelijk, passen.
 
        Twee reguliere expressies kunnen samengevoegd  worden  door  de  invoeg
        operator  |;  de  reguliere expressie die dat oplevert past elke string
        die of de ene, of de andere sub-expressie past.
 
        Herhaling heeft voorrang boven achter elkaar aanzetten, wat weer  voor‐
        rang  heeft  boven  wisselen. Een hele sub-expressie kan omgeven worden
        door haakjes om deze voorrangsregels te omzeilen.
 
        De terugverwijzing \n, waar n een enkel cijfer is, past  de  sub-string
        daarvóór  gepast door de nde met haakjes omsloten sub-string in de reg‐
        uliere expressie.
 
        in basis reguliere expressies verliezen de metakarakters ?, +, {, |, (,
        en  )  hun  speciale  betekenis;  in plaats daarvan gebruik de ge-back‐
        slashte {\} versies \?, \+, \{, \|, \(, en \).
 
        De traditionele egrep had geen ondersteuning voor het  {  metakarakter,
        en  sommige  egrep  implementaties  ondersteunen  in plaats daarvan \{,
        overdraagbare scripts zouden { in egrep patronen moeten  ontwijken,  en
        zullen [{] moeten nemen om een letterlijke { te passen.
 
        GNU  egrep  probeert het traditionele gebruik te ondersteunen, door aan
        te nemen dat { niet speciaal is als het het  begin  zou  zijn  van  een
        ongeldige  interval  opgave. Bijvoorbeeld, de shell opdracht egrep      {1     
        zoekt voor de twee-karakter string {1 in plaats van het melden van  een
        spellings  fout in de reguliere expressie.  POSIX.2 laat dit gedrag toe
        als een uitbreiding, maar overdraagbare scripts zouden het moeten  ver‐
        mijden.
        GREP_OPTIONS
               Deze  variabele bepaalt standaard opties, die vóór alle explici‐
               ete  opties   geplaatst   zullen   worden.   Bijvoorbeeld,   als
               GREP_OPTIONS       --binary-files=without-match  --directories=skip     
               is, dan gedraagt grep zich alsof het de  twee  opties  --binary-
               files=without-match en --directories=skip had gekregen vóór alle
               expliciete opties.  Optie opgaves worden gescheiden door  witru‐
               imte.  Een backslash {\} escape’t {bevrijdt} het volgende karak‐
               ter, zodat het gebruikt kan worden om een  optie  te  geven  die
               witruimte, of een backslash {\} bevat.
 
        LC_ALL {lc alles}, LC_MESSAGES {lc bericht}, LANG {taal}
               Deze  variabelen geven de LC_MESSAGES localiteit op, die de taal
               bepaalt die grep gebruikt voor berichten.  De  localiteit  wordt
               bepaald  door  de  eerste  van  deze  variabelen  die  gezet is.
               Amerikaans Engels  wordt  gebruikt  als  geen  van  deze  omgev‐
               ingsvariabelen  zijn gezet, of als de berichten verzameling niet
               is geïnstalleerd, of als grep niet was  gecompileerd  met  talen
               ondersteuning (NLS).
 
        LC_ALL {lc alles}, LC_CTYPE {c_c soort}, LANG {taal}
               Deze  variabelen  geven de LC_CTYPE localiteit op, die het soort
               karakters bepaalt, o.a.  welke  karakters  witruimte  zijn.   De
               localiteit  wordt bepaald door de eerste van deze variabelen die
               is gezet.  De POSIX localiteit wordt gebruikt als geen van  deze
               omgevingsvariabelen zijn gezet, of als de localiteit verzameling
               niet is geïnstalleerd, of als grep  niet  was  gecompileerd  met
               talen ondersteuning (NLS)
 
        POSIXLY_CORRECT
               Als gezet gedraagt grep zich zoals POSIX.2 eist; anders gedraagt
               grep zich meer zoals andere GNU  programma’s.   POSIX.2  vereist
               dat de opties die volgen op bestandsnamen, behandeld moeten wor‐
               den als bestandsnamen; standaard worden dergelijke  opties  ver‐
               plaatst  naar  het begin van de operanden lijst en worden behan‐
               deld als opties.  Ook eist POSIX.2 dat de niet  herkende  opties
               als  “onwettig” worden aangemerkt, maar omdat ze niet echt tegen
               de  wet  zijn  worden  ze  normaal  aangemerkt  als  “ongeldig”.
               POSIXLY_CORRECT   zet   ook   _N_GNU_nonoption_argv_flags_  uit,
               hieronder beschreven.
 
        _N_GNU_nonoption_argv_flags_
               {_n_gnu niet-optie argument-wijzer vlaggen_} (Hier is  N  grep’s
               numerieke  proces  ID.)  Als  het  ide  karakter van deze omgev‐
               ingsvariabele’s waarde, 1 is, beschouw het ide operand voor grep
               niet  als  een  optie,  zelfs  als het er een lijkt te zijn.  de
               shell kan deze variabele  in  de  omgeving  plaatsen  voor  elke
               opdracht  die  het  start,  daarmee opgevend welke operanden het
               resultaat zijn van wildcard expandering en daarom niet behandeld
               zou  moeten worden als een optie.  Dit gedrag is alleen beschik‐
               baar met de GNU C bibliotheek, en alleen wanneer POSIXLY_CORRECT
               ongezet is.
 

DIAGNOSE

        Normaal  is de eindwaarde 0 als er overeenkomsten werden gevonden, en 1
        als geen overeenkomsten werden gevonden. (De -v optie keert de  beteke‐
        nis  van  de  eindstaat  om.)   Eindwaarde is 2 als er spellings fouten
        waren in het patroon, niet toegankelijke invoer  bestanden,  of  andere
        systeem fouten.
 

BUGS

        Email  bugrapporten  naar bug-gnu-utils@gnu.org.  Wees er zeker van dat
        het woord “grep” ergens in het “Subject:” veld staat.
 
        Grote herhalingsaantallen voor de {m,n}  bouwsteen  kunnen  zorgen  dat
        grep  veel geheugen gebruikt.  Daar bovenop kunnen sommige obscure reg‐
        uliere expressies exponentieel meer tijd en ruimte  vragen,  en  kunnen
        zorgen dat het geheugen voor grep opraakt.
 
        Terugverwijzingen  zijn heel langzaam, en kunnen exponentieel meer tijd
        vragen.
 

VERTALING

        Dit is de handleiding van grep 2.4.2.  Bijna alles wat tussen  ‘{’..‘}’
        staat  is aanvullende vertaling, behalve de tekst over een bepaalt aan‐
        tal keren herhalen in reguliere expressies, en hoort niet bij de  orig‐
        inele handleiding.  Email naar <manpages-nl@nl.linux.org>.