- bullseye 4.10.0-1
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
GREP(1) | Opdrachten voor gebruikers | GREP(1) |
NAAM¶
grep, egrep, fgrep, rgrep - toon regels die voldoen aan een patroon
SAMENVATTING¶
grep [OPTIE...] PATRONEN [BESTAND...]
grep [OPTIE...] -e PATRONEN ...
[BESTAND...]
grep [OPTIE...] -f PATROON_BESTAND ...
[BESTAND...]
BESCHRIJVING¶
grep zoekt het PATROON in elk BESTAND. PATROON zijn een of meer patronen gescheiden voor nieuwe regel tekens, grep toont dan elke regel dit voldoet aan een patroon. Als grep in een shell commando gebruikte wordt dan zal PATROON tussen aanhalingstekens moeten staan.
Een BESTAND of `-` betekent standaard invoer. Als geen BESTAND werd opgegeven, dan zullen de werk map recursief doorzocht worden, en niet recursieve zoekopdrachten lezen de standaard invoer.
In aanvulling hierop, de varianten egrep, fgrep en rgrep zijn identiek aan grep -E, grep -F, respectievelijk grep -r. Deze varianten zijn afgekeurd, maar worden behouden vanwege compatibiliteit.
OPTIES¶
Algemene Programma Informatie¶
- --help
- Geef een kort help bericht en stop.
- -V, --version
- Toon versie nummer van grep en stop.
Patroon syntaxis¶
- -E, --extended-regexp
- Interpreteer PATROON uit als een uitgebreide reguliere expressie (zie onder).
- -F, --fixed-strings
- Interpreteer PATROON als vaste tekst, niet als reguliere expressies.
- -G, --basic-regexp
- Interpreteer PATROON als een reguliere expressie (BRE´s, zie hieronder). Dit is de standaard.
- -P, --perl-regexp
- Interpreteer PATROON als PERL-compatibele reguliere expressie (PCRE´s). Deze optie is experimenteel indien die gecombineerd wordt met de met -z (--null-data) optie, en grep -P zou kunnen waarschuwen over niet geïmplementeerde features.
Vergelijkings instellingen¶
- -e PATRONEN, --regexp=PATRONEN
- Gebruik PATRONEN als patronen. Als deze optie meerdere keren gebruikt of gecombineerd wordt de met -f (--file) optie, zoek dan alle gegeven patronen. Deze optie kan gebruikt worden om patronen die beginnen met "-" te beschermen.
- -f BESTAND, --file=BESTAND
- Lees de patronen uit BESTAND, een per regel. Als deze optie meerdere keren gebruikt of gecombineerd wordt de met -e (--regexp) optie, zoek dan alle gegeven patronen. Een leeg bestand bevat geen patronen en vergelijkt daarom niets.
- -i, --ignore-case
- Negeer het verschil tussen hoofd- en kleine letters in patronen en de invoer bestanden, zodat alleen tekens die hierdoor verschillen bij elkaar horen.
- --no-ignore-case
- Negeer verschillen in hoofd- en kleine letters in patronen en invoer data niet. Dit is de standaard. Deze optie is nuttig voor doorgeven naar shell scripts die al -i gebruiken, om het effect te onderdrukken want de twee opties overschrijven elkaar.
- -v, --invert-match
- Keer de manier van vergelijken om, om niet-passende regels te kiezen.
- -w, --word-regexp
- Selecteer alleen die regels die passen op hele woorden. Er wordt getest of de passende sub-tekst aan het begin van de regel zit, of voorafgegaan door een niet-woord teken. Net zo, moet het aan het einde van de regel zitten, of gevolgd worden door een niet-woord karakter. Tekens die in woorden voorkomen zijn letters, cijfers en het liggende streepje. Deze optie heeft geen effect als ook -x werd opgegeven.
- -x, --line-regexp
- Selecteer alleen die overeenkomsten die precies met een hele regel overeenkomen. Voor een reguliere expressie patroon, komt dit overeen met het tussen haakjes zetten van het patroon en het omgeven met ^ en $.
- -y
- Verouderd synoniem voor -i.
Algemene uitvoer instellingen¶
- -c, --count
- Onderdruk normale uitvoer; druk in plaats daarvan een optelling van de passende regels af voor elk invoer bestand. Met de -v, --invert-match optie (zie onder), tel niet-overeenkomende regels.
- --color[=WANNEER], --colour[=WANNEER]
- Omgeeft de gevonden (niet-lege) teksten, passende regels, context regels, bestandsnamen, regel nummers, byte afstand, en de scheiders (voor velden en groepen van context regels) met stuurcodes om ze in kleur op de terminal te tonen. De kleuren zijn bepaald in de omgevingsvariabele GREP_COLORS. De afgekeurde omgevingsvariabele GREP_COLOR wordt nog ondersteund, maar de instelling heeft geen prioriteit. WHEN is never, always, of auto.
- -L, --files-without-match
- 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
- 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.
- -m AANTAL, --max-count=AANTAL
- Stop met het lezen van een bestand na NUM overeenkomende regels. Als de invoer gelezen wordt van standaard invoer van een normaal bestand, en NUM passende regels werden getoond, dan zal grep er voor zorgen dat de standaard invoer wordt gezet precies na de laatste passende regel voor dat het stopt, ook al zijn er nakomende context regels. Dit zorgt ervoor dat het aanroepende proces kan doorgaan met zoeken. Als grep stopt na NUM passende regels, zal het nog volgende context regels tonen. Indien de -c of --count optie werd gebruikt, dan zal grep geen teller groter dan NUM tonen. Als ook de -v of --invert-match werd gebruikt, dan zal grep stoppen na het tonen van NUM niet-passende regels.
- -o, --only-matching
- Toon alleen gevonden (niet-lege) delen van de gevonden regel, met elk deel op een aparte uitvoer regel.
- -q, --quiet, --silent
- Stil; schrijf niets naar standaard uitvoer. Stop onmiddellijk met een nul eind waarde wanneer een overeenkomst werd gevonden, zelfs als een fout was vastgesteld. Zie ook de -s of --no-messages optie.
- -s, --no-messages
- Onderdruk fout berichten over niet-bestaande of onleesbare bestanden.
Uitvoer regel voorvoegsel instellingen¶
- -b, --byte-offset
- Toon de 0-gebaseerde byte positie in het invoer bestand voor elke regel van de uitvoer. Toon de positie van het gevonden deel zelf als -o (--only-matching) is opgegeven.
- -H, --with-filename
- Toon de bestandsnaam voor elke vondst. Dit is standaard wanneer er meer dan een bestand doorzocht moet worden.
- -h, --no-filename
- Onderdruk het voorvoegen van bestandsnamen in de uitvoer. Dit is standaard wanneer er precies een bestand (of alleen standaard invoer) doorzocht wordt.
- --label=LABEL
- Toon invoer komende van standaard invoer als invoer afkomstig van bestand LABEL. Dit is nuttig voor commando´s die de bestand inhoud transformeren vóór het doorzoeken, b.v. gzip -cd foo.gz | grep --label=foo -H 'some pattern'. Zie ook de -H optie.
- -n, --line-number
- Voeg vóór elke regel uitvoer het regelnummer toe in het invoer bestand.
- -T, --initial-tab
- Zorg ervoor dat het eerste teken van een regel inhoud op een tabstop ligt, waarmee de uitlijning van tabs normaal uit ziet. Dit is nuttig samen met de opties die hun uitvoer vooraf laten gaan met de inhoud: -H,-n, and -b. Om de kans te vergroten dat de regels van een enkel bestand zullen starten in dezelfde kolom, zal het regelnummer en de byte positie (indien aanwezig) getoond worden in de minimale veld breedte.
- -u, --unix-byte-offsets
- 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 tekens verwijderd. Dit zal dezelfde uitkomsten opleveren als het uitvoeren 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-Windows.
- -Z, --null
- Voer een nul byte (het ASCII NUL karakter) uit, in plaats van het karakter dat gewoonlijk volgt op een bestandsnaam. Bijvoorbeeld, grep -lZ voert een nul byte uit na elke bestandsnaam, in plaats van de gewone nieuwe regel. Deze optie maakt de uitvoer eenduidig, zelfs bij het voorkomen van bestandsnamen die ongewone karakters zoals nieuwe regels 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 nieuwe regel-tekens bevatten.
Context Regel Instellingen¶
- -A AANTAL, --after-context=AANTAL
- Toon NUM regels van voorafgaande context na gevonden regels. Plaatst een regel die de groep scheider (--) bevat tussen opeenvolgende groep van vondsten. Met de -o of --only-matching optie, heeft dit geen effect en er zal een waarschuwing gegeven worden.
- -B AANTAL, --before-context=AANTAL
- Toon NUM regels van voorafgaande context na gevonden regels. Plaatst een regel die de groep scheider (--) bevat tussen opeenvolgende groep van vondsten. Met de -o of --only-matching optie, heeft dit geen effect en er zal een waarschuwing gegeven worden.
- -C AANTAL, -AANTAL, --context=AANTAL
- Toon NUM regels context. Plaatst een regel die de groep scheider (--) bevat tussen opeenvolgende groep van vondsten. Met de -o of --only-matching optie, heeft dit geen effect en er zal een waarschuwing gegeven worden.
Bestand en Map Selectie¶
- -a, --text
- Verwerk een binair bestand alsof het tekst was; dit is equivalent aan de --binary-files=text optie.
- --binary-files=SOORT
- Als de data of metadata van een bestand aangeeft dat het bestand binaire data bevat, neem dan aan de het bestand van type TYPE is. Niet-tekst bytes geven binaire data aan; dit zijn ofwel uit voer bytes die niet goed gecodeerd zijn voor de huidige locale , of nul invoer bytes indien de -z optie niet opgegeven werd.
- Standaard zullen SOORT binair, en grep uitvoer onderdrukken na een het ontdekken van een nul in de binaire invoer, en ook uitvoer regels onderdrukken die ongeldige gecodeerde data bevatten. Indien uitvoer werd onderdrukt, dan zal grep zal de uitvoer voorzien van een bericht met de mededeling dat een binair bestand gevonden werd.
- Als SOORT without-match is, dan zal wanneer grep nul invoer binaire data ontdekt het aanneemt dat de rest van het bestand niet overeenkomt; dit is gelijk aan de -I optie.
- Als SOORT text is, dan verwerkt grep een binair bestand alsof het tekst was; dit is gelijk aan de -a optie.
- Wanneer SOORT binary is, dan kan grep niet-tekst bytes als regel einden behandelen zelfs zonder de -z optie is. Dit betekent dat binary versus text kan beïnvloeden dat een patroon op een bestand past. Bijvoorbeeld, wanneer SOORT gelijk is aan binary dan q$ kan patroon overeenkomen met q onmiddellijk gevolgd door een nul-byte, zelfs als die niet past wanneer SOORT gelijk is aan text. Andersom, wanneer SOORT is binary dan komt . (period) niet overeen met een nul byte.
- Waarschuwing: grep --binary-files=text kan binaire onzin genereren, wat vervelende bijeffecten kan hebben als de uitvoer naar een terminal gaat en als de terminal driver deze interpreteert als een commando. Aan de andere kant, als bestanden gelezen worden waarvan de codering onbekend is, dan kan het helpen om -a op te geven of om LC_ALL=C in de omgeving te zetten, om zo meer overeenkomsten te vinden zelfs als deze niet veilig zijn om meteen te tonen.
- -D ACTIE, --devices=ACTIE
- Als het invoer bestand een apparaat is, FIFO of socket, gebruik dan ACTIE om het te verwerken. Standaard, ACTIE is read, hetgeen betekent dat apparaten gelezen worden net als dat het normale bestanden waren. Als ACTIE is skip dan worden apparaten overgeslagen.
- -d ACTIE, --directories=ACTIE
- Als een invoer bestand een map is, gebruik ACTIE om het te verwerken. Normaal is ACTIE read, wat betekend dat mappen gelezen worden alsof het gewone bestanden waren. Als ACTIE skip is, worden mappen in stilte overgeslagen. Als ACTIE recurse is, leest grep alle bestanden in elke map, recursief, alleen symbolische koppelingen volgend als die op de commando regel stonden. Dit is gelijk aan de -r optie.
- --exclude=BESTANDSPATROON
- Sla elke commando-regel bestand over met een achtervoegsel dat past op het patroon GLOB, gebruik makend van jokerteken; een naam achtervoegsel is of de volledige naam of een volgend deel dat begint met een niet-slash teken onmiddellijk na de slash (/) in de naam. Als er recursief gezocht wordt, sla dan elke bestand over waarvan de basis naam past op GLOB; de basis naam is het deel na de laatste slash. Een patroon mag *, ?, en [...] als jokertekens, en \ gebruiken om een jokerteken of backslash teken letterlijk te citeren.
- --exclude-from=BESTAND
- Sla bestanden over waarvan de basis naam past op een van de algemene bestandsnamen gelezen van BESTAND (gebruik jokerteken passend zoals beschreven onder --exclude).
- --exclude-dir=BESTANDSPATROON
- Sla elke commando-regel map over met een achtervoegsel dat past op het patroon GLOB. Als er recursief gezocht wordt, sla een map over waarvan de basis naam past op GLOB. Negeer overtollige slashes achter in GLOB.
- -I
- Verwerk een binair bestand als of het geen passende gegevens bevatte; dit is gelijk aan de --binary-files=without-match optie.
- --include=BESTANDSPATROON
- Zoek alleen bestanden waarvan de basis naam past op GLOB (gebruik van jokerteken zoals beschreven in --exclude). Als daarentegen de --include en de --exclude opties werden opgegeven, dan wordt een bestand mee genomen tenzij de eerste van die opties --include is.
- -r, --recursive
- Lees alle bestanden in elke map, recursief, symbolische koppelingen volgens alleen als ze op de commando regel stonden. Merk op dat als geen bestand werd gegeven, grep alleen in de werk map zoekt. Dit is equivalent aan de -drecurse optie.
- -R, --dereference-recursive
- Lees alle bestanden in elke map, recursief. Volg alle symbolische koppelingen, in tegenstelling to -r.
Andere Opties¶
- --line-buffered
- Gebruik regel buffering bij uitvoer. Dit kan een prestaties kosten.
- -U, --binary
- Behandel de bestand(en) als binair. Standaard, onder MS-DOS en MS-win, gokt grep of een bestand een tekst of binair bestand is zoals beschreven voor de --binary-files optie . Als grep besluit dat het bestand een tekst bestand is haalt het de CR karakters uit de originele bestand inhoudt (om reguliere expressies met ^ en $ goed te laten werken). Opgeven van -U overstemd dit gokken, en veroorzaakt dat alle bestanden gelezen worden en doorgegeven worden aan het "passen-op"-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-Windows.
- -z, --null-data
- Behandel invoer en uitvoer data als opeenvolgende regels, elke afgesloten met een nul-byte (het ASCII NUL teken) in plaats van een nieuwe regel. Net als de -Z of --null optie, kan deze optie gebruikt worden met commando´s zoals sort -z om willekeurige bestandsnamen te verwerken.
REGULIERE EXPRESSIES¶
Een reguliere expressie is een patroon dat een verzameling teksten beschrijft. Reguliere expressies worden op dezelfde manier gebouwd als rekenkundige expressies: door met gebruik van verschillende operatoren kleinere delen samen te binden.
grep begrijpt drie verschillende versies van reguliere-expressies syntaxis: “basic” (BRE), “extended” (ERE) and “perl” (PCRE). In GNU grep is er geen verschil in bruikbaarheid tussen de drie versies. 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. Perl-compatibele reguliere expressies geven additionele functionaliteit, en zijn gedocumenteerd in pcresyntax(3) en pcrepattern(3), maar werken alleen als PCRE beschikbaar is in het systeem
De fundamentele bouwstenen zijn de reguliere expressies, die passen op een enkel karakter. De meeste tekens, ook alle letters en cijfers, zijn reguliere expressies die op zichzelf passen. Elk meta-teken met een speciale betekenis kan geciteerd worden door het vooraf te laten gaan door een backslash.
De punt . past elk enkelvoudig karakter. Het is niet gespecificeerd of het past op een codering fout.
Teken klassen en Expressies met Haakjes¶
Een haakjes expressie is een lijst van tekens omsloten door [ en ]. Het past elk enkelvoudig teken van die lijst. Als het eerste karakter van de lijst het dakje ^ is, dan past het elk enkelvoudig teken niet in die lijst. Het is niet gespecificeerd of het past op een codering fout. Bijvoorbeeld, de reguliere expressie [0123456789] past elk enkelvoudig cijfer.
In een haakjes expressie, bestaat een bereik expressie uit twee tekens gescheiden door een koppelteken. Dit vind elk enkel teken dat past tussen twee de twee tekens, inclusief, het gebruik van de taaldefinitie verzameling volgorde en teken set. Bij voorbeeld, in de standaard C taaldefinitie, [a-d] is equivalent aan [abcd]. Veel locales sorteren tekens in woord volgorde, en in deze is [a-d] gewoonlijk niet equivalent [abcd]; het kan equivalent zijn aan [aBbCcDd], bij voorbeeld. Om de klassieke interpretatie van haakjes expressie te verkrijgen, kun je best de C taaldefinitie instellen door het zetten van de LC_ALL omgevingsvariabele op de waarde C.
Tenslotte, bepaalde benoemde klassen van tekens zijn voorgedefinieerd. Hun namen spreken voor zichzelf, en het zijn [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] en [:xdigit:]. Bijvoorbeeld [[:alnum:]] betekend [0-9A-Za-z], behalve dat de laatste vorm afhankelijk is van de POSIX taaldefinitie en de ASCII tekenset, terwijl de eerste onafhankelijk is van taaldefinitie en tekenset. (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 meta-tekens 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.
Verankering¶
Het dakje ^ en het dollar teken $ zijn meta-tekens die op respectievelijk de lege string aan het begin, en aan het einde van een regel passen.
Het backslash teken en Speciale Expressies¶
De symbolen \< en \> passen respectievelijk de lege tekst 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. Het symbool \w is een synoniem voor [_[:alnum:]] en \W is een synoniem voor [^_[:alnum:]].
Herhaling¶
Een reguliere expressie mag gevolgd worden door een of meerdere herhaal operatoren:
- ?
- Het voorgaande item is optioneel en paste ten hoogste één keer.
- *
- 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.
- {,m}
- Het voorafgaande item past op zijn meest m keer. Dit is een GNU uitbreiding.
- {n,m}
- Het voorgaande item zal minstens n keer, maar niet meer dan m keer gepast worden.
Concatenatie¶
Twee reguliere expressies kunnen worden geconcateneerd; de reguliere expressie die dat oplevert past elk tekst die bestaat uit de twee samen gevoegde sub-teksten die op de twee respectievelijke sub-expressies passen.
Afwisseling¶
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.
Voorrang¶
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.
Terugverwijzingen en Sub-expressies¶
De terugverwijzing \n, waar n een enkel cijfer is, past de sub-tekst daarvóór gepast door de nde met haakjes omsloten sub-tekst in de reguliere expressie.
Basis versus uitgebreide Reguliere Expressies¶
In basis reguliere expressies verliezen de meta-tekens ?, +, {, |, ( en ) hun speciale betekenis; in plaats daarvan gebruik de versies met backslash \?, \+, \{, \|, \( en \).
EIND WAARDE¶
Normaal is de eind waarde 0 als er overeenkomsten werden gevonden, en 1 als geen overeenkomsten werden gevonden en 2 als er een fout optrad. Hoewel, als of -q of --quiet of --silent werd gebruikt en een regel werd gevonden, dan is de eind waarde 0 zelfs als er een fout optrad.
OMGEVING¶
Het gedrag van grep wordt beïnvloed door de volgende omgevingsvariabelen
De taaldefinitie van de categorie LC_foo wordt gespecificeerd door drie omgevingsvariabelen LC_ALL, LC_foo, LANG in die volgorde te bekijken. De eerste van deze variabelen die is gezet bepaald de taaldefinitie. Bij voorbeeld, als LC_ALL niet is gezet, maar LC_MESSAGES is gezet op pt_BR, dan wordt de Braziliaans-Portugese taaldefinitie gebruikt voor de LC_MESSAGES categorie. De C taaldefinitie wordt gebruikt als geen enkele taaldefinitie is gezet, als de taal catalogus niet werd geïnstalleerd, of grep werd niet gebouwd met nationale taal ondersteuning (NLS). Het shell commando locale -a toont beschikbare taaldefinities.
- GREP_COLOR
- Deze variabele bepaald de kleur die gebruikt wordt om gevonden (niet lege) tekst te accentueren. Hij is afgekeurd ten gunste van GREP_COLORS, maar wordt nog ondersteund. De mt, ms, en mc vormen van GREP_COLORS hebben hogere prioriteit. Hij kan alleen de kleur die gebruikt wordt om gevonden niet-lege tekst te accentueren in een gevonden regel (een gevonden regel als de -v commando-regel optie werd weggelaten, of een context regel als -v werd opgegeven), De standaard is 01;31, hetgeen een rode voorgrond tekst op de standaard achtergrond van de terminal inhoud.
- GREP_COLORS
- Specificeert kleuren en andere attributen die gebruikt kunnen worden om de diverse onderdelen van de uitvoer te accentueren. Zijn waarde is een komma-gescheiden lijst van mogelijkheden met ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 als standaard waarde en de rv en ne logische mogelijkheden zijn weggelaten (m.a.w. onwaar). Ondersteunde mogelijkheden zijn de volgende.
- sl=
- SGR sub-tekst voor compleet geselecteerde regels (m.a.w. passende regels als de -v commando-regel optie werd weggelaten, of niet-passende regels als -v werd opgegeven). Als zowel de logische rv optie en de -v commando-regel opgegeven werden, dan is dit van toepassing op passende contex regels. De standaard is leeg (m.a.w. het standaard kleuren paar van de terminal).
- cx=
- SGR sub-tekst for hele context regels (m.a.w. niet-passende regels als de -v commando-regel optie is weggelaten, or passend regels als -v werd opgegeven. Als echter zowel de logische rv als de -v commando-regel optie werden opgegeven, dan is dit alleen van toepassing op geselecteerde niet-passende regels. De standaard is leeg (.m.a.w. het standaard kleuren paar van de terminal).
- rv
- Logische waarde dat de betekenis omdraait van de sl= and cx= capabilities indien de -v command-regel optie werd gespecificeerd. De standaard is ONWAAR (m.a.w. the capaciteit is weggelaten).
- mt=01;31
- SGR sub-tekst voor passende niet-lege tekst in ieder passend regel (m.a.w., een geselecteerde regel wanneer de -v commando-regel optie werd weggelaten, of een context regel als -v werd opgegeven. Deze instelling is equivalent aan het instellen van ms= en mc= in een keer op dezelfde waarde. De standaard is vette rode tekst in de voorgrond tegen de bestaande regel achtergrond.
- ms=01;31
- SGR sub-tekst voor passende niet-lege tekst in een passende regel (dit wordt alleen gebruikt als de -v commando-regel optie werd weggelaten.) Het effect van de sl= (of cx= als rv) capaciteit blijft actief wanneer dit optreedt. De standaard is vette rode tekst in de voorgrond tegen de bestaande regel achtergrond.
- mc=01;31
- SGR sub-tekst voor passende niet-lege tekst in een context regel (dit wordt alleen gebruikt als de -v commando-regel optie werd gegeven.) Het effect van de cx= (of sl= als rv) capaciteit blijft actief wanneer dit optreedt. De standaard is vette rode tekst in de voorgrond tegen de bestaande regel achtergrond.
- fn=35
- SGR sub-tekst voor bestandsnamen die vooraf gaan aan een regel inhoud. De standaard is magenta tekst voorgrond tegen de standaard terminal achtergrond.
- ln=32
- SGR sub-tekst voor regel nummer die vooraf gaan aan een regel inhoud. De standaard is groene tekst voorgrond tegen de standaard terminal achtergrond.
- bn=32
- SGR sub-tekst voor byte posities die vooraf gaan aan een regel inhoud. De standaard is groene tekst voorgrond tegen de standaard terminal achtergrond.
- se=36
- SGR sub-tekst voor scheiders die zijn ingevoegd tussen geselecteerde regel velden (:, tussen context regel velden, (-, en tussen groepen van aansluitende regels als een niet-lege context werd opgegeven (--). De standaard is cyaan tekst voorgrond tegen de standaard terminal achtergrond.
- ne
- Logische waarde die het wissen tot regel einde voor komt door gebruik van Erase in Line (EL) naar Rechts (\33[K) elke keer een gekleurd item eindigt. Dit is nodig op terminals waar EL niet ondersteund wordt. Het is ook nuttig op terminals waar de back_color_erase (bce) logische terminfo capaciteit niet van toepassing is, wanneer de gekozen opvallende kleuren niet van invloed zijn op de achtergrond, of wanneer EL te langzaam is en flakker veroorzaakt. De standaard is ONWAAR (m.a.w. de capaciteit wordt weggelaten).
Merk op dat de logische capaciteiten geen =... deel hebben. Ze worden standaard weggelaten (m.a.w. ONWAAR) en worden WAAR indien opgegeven.
Zie de Select Graphic Rendition (SGR) sectie in de documentatie van de tekst terminal die wordt gebruikt om toegestane waarden en hun betekenis als tekst attributen. Deze sub-tekst waarden zijn gehele getallen in decimale notatie en kunnen worden geconcateneerd met puntkomma´s. grep zorgt voor het samenstellen van het resultaat in een complete SGR sequentie (\33[...m). Voorkomende waarden voor concatenatie zijn o.m. 1 voor vet, 4 voor onderstrepen, 5 voor knipperen, 7 voor omkeren, 39 voor standaard voorgrond kleur, 30 tot 37 voor voorgrond kleuren, 90 tot 97 voor 16-kleurenmode voorgrond kleuren, 38;5;0 tot 38;5;255 for 88-kleuren and 256-kleuren modes voorgrond kleuren, 49 voor default achtergrond kleur, 40 tot 47 voor achtergrond kleuren, 100 tot 107 for 16-kleuren mode achtergrond kleuren, and 48;5;0 tot 48;5;255 voor 88-kleuren en 256-kleuren modes achtergrond kleuren.
- LC_ALL, LC_COLLATE, LANG
- Deze variabelen specificeren de taaldefinitie voor de LC_COLLATE categorie, deze bepaald de verzameling volgorde die gebruikt wordt om bereik expressies te ontleden zoals [a-z].
- LC_ALL, LC_CTYPE, LANG
- Deze variabelen geven de LC_CTYPE taaldefinitie op, die het soort karakters bepaalt, o.a. welke tekens witruimte zijn. De taaldefinitie wordt bepaald door de eerste van deze variabelen die is gezet. De POSIX taaldefinitie wordt gebruikt als geen van deze omgevingsvariabelen zijn gezet, of als de taaldefinitie verzameling niet is geïnstalleerd, of als grep niet was gecompileerd met talen ondersteuning (NLS)
- LC_ALL, LC_MESSAGES, LANG
- Deze variabelen specificeren de LC_MESSAGES categorie, die de taal bepaalt die grep gebruikt voor berichten. De standaard C taaldefinitie gebruikt Amerikaans Engelse berichten.
- POSIXLY_CORRECT
- Indien gezet gedraagt grep zich zoals POSIX; anders gedraagt grep zich meer zoals andere GNU programma's. POSIX 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 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_
- (Hier is N grep's numerieke proces ID.) Als het ide teken van deze omgevingsvariabele 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 jokerteken expansie 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 niet gezet is.
OPMERKINGEN¶
Deze handleiding wordt sporadisch onderhouden; de volledige documentatie is vaker beter bijgewerkt.
COPYRIGHT¶
Copyright 1998-2000, 2002, 2005-2020 Free Software Foundation, Inc.
Dit is vrije software; zie de programmatekst voor de kopieervoorwaarden. Er is GEEN garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.
BUGS¶
Bugs Rapporteren¶
Email bug rapporten naar het bug-rapportage adres ⟨bug-grep@gnu.org⟩. Een email archief ⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ en een bug volger ⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩ zijn beschikbaar.
Bekende Bugs¶
Grote herhalingsaantallen voor de {n,m} bouwsteen kunnen zorgen dat grep veel geheugen gebruikt. Daar bovenop kunnen sommige obscure reguliere expressies exponentieel meer tijd en ruimte vragen, en kunnen ervoor zorgen dat het geheugen voor grep opraakt.
Terugverwijzingen zijn heel langzaam, en kunnen exponentieel meer tijd vragen.
VOORBEELD¶
Het volgende voorbeeld toont locatie en inhoud van elke regel die "f" bevat en eindigt op ".c", in elk bestand in de huidige werkmap waarvan de naam "g" bevat en eindigt in "*.h". De -n optie toont regel nummers, het -- argument behandelt expansie van "*g*.h" beginnend met "-" als bestandsnamen niet als opties, en het lege bestand /dev/null zorgt er voor dat bestandsnamen getoond worden zelfs als alleen een bestandsnaam van de vorm "*g*.h" is.
$ grep -n -- 'f.*\.c$' *g*.h /dev/null argmatch.h:1:/* definitions and prototypes for argmatch.c
De enige regel dit past is regel 1 van argmatch.h. Merk op dat de reguliere expressie syntaxis gebruikt in het patroon verschilt van de globbing syntaxis die de shell gebruikt om bestandsnamen te zoeken.
ZIE OOK¶
Reguliere Handleidingen¶
awk(1), cmp(1), diff(1), find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).
Volledige documentatie¶
Een volledige handleiding ⟨https://www.gnu.org/software/grep/manual/⟩ is beschikbaar. Als de programma's info en grep correct op uw systeem zijn geïnstalleerd, dan geeft de opdracht
- info grep
toegang tot de volledige handleiding.
VERTALING¶
De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>
Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.
Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar ⟨debian-l10n-dutch@lists.debian.org⟩.
2019-12-29 | GNU grep 3.6 |