grep

GREP(1)                     General Commands Manual                    GREP(1)



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
              terminal 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
              directories 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
              uitgebreide reguliere expressie (zie onder).

       -e PATROON, --regexp=PATROON
              {--reguliere-expressie=} Gebruik PATROON als een patroon;
              bruikbaar 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
              reguliere 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
              stoppen 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
              aanroep. 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
              zorgen 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
              overeenkomsten 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
              bestandnaam, 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.

REGULIERE EXPRESSIES
       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
       beschrijving 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
       reguliere 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:] {alphabetisch}, [: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 afhankelijk 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 symbolische namen, en ook gegeven moeten worden
       bij de ook al rechte haakjes die de rechte-haakjes-lijst omsluiten.) De
       meeste metakarakters verliezen 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
       respectievelijk 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
       voorrang 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
       reguliere expressie.

       in basis reguliere expressies verliezen de metakarakters ?, +, {, |, (,
       en ) hun speciale betekenis; in plaats daarvan gebruik de ge-
       backslashte {\} 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
       vermijden.

OMGEVING VARIABELEN
       GREP_OPTIONS
              Deze variabele bepaalt standaard opties, die vóór alle
              expliciete 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
              witruimte.  Een backslash {\} escape't {bevrijdt} het volgende
              karakter, 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
              omgevingsvariabelen 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
              worden als bestandsnamen; standaard worden dergelijke opties
              verplaatst naar het begin van de operanden lijst en worden
              behandeld 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
              omgevingsvariabele'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
              beschikbaar 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
       betekenis 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
       reguliere 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
       aantal keren herhalen in reguliere expressies, en hoort niet bij de
       originele handleiding.  Email naar <manpages-nl@nl.linux.org>.




GNU Project                       2004/03/21                           GREP(1)