Name

grep, egrep, fgrep – print lines matching a pattern

Synopsis

grep PATTERN
grep

Description

grep søger i de navngivne input FILEs (eller standard input, hvis ingen filer er navngivet, eller hvis der er angivet et enkelt bindestreg-minus (-) som filnavn) for linjer, der indeholder et match til det angivne MØNSTER. Som standard udskriver grep de matchende linjer.

Dertil kommer de to variantprogrammer egrep og fgrep. egrep er det samme som grep -E. fgrep er det samme somgrep -F. Direkte påkaldelse som enten egrep eller fgrep er forældet, men leveres for at give historiske programmer, der er afhængige af dem, mulighed for at torunere uændret.

Optioner

Generiske programoplysninger

–help

Udskriv en brugsbesked, der kort opsummerer disse kommandolinjeindstillinger og fejlrapporteringsadressen, og afslut derefter.

-V, –version Udskriv versionsnummeret på grep til standardudgangsstrømmen. Dette versionsnummer skal medtages i alle fejlrapporter (se nedenfor).

Matcher Selection

-E, –extended-regexp Fortolker PATTERN som et udvidet regulært udtryk (ERE, se nedenfor). (-E er specificeret af POSIX .) -F, –fixed-strings Fortolker PATTERN som en liste af faste strenge, adskilt af newlines, hvoraf en hvilken som helst af disse skal matches. (-F er specificeret af POSIX.) -G, –basic-regexp Fortolker PATTERN som et grundlæggende regulært udtryk (BRE, se nedenfor). Dette er standardindstillingen. -P, –perl-regexp Fortolker PATTERN som et regulært Perl-udtryk. Dette er meget eksperimentelt, og grep -P kan advare om ikke-implementerede funktioner.

Matching Control

-e PATTERN, –regexp=PATTERN Bruger PATTERN som mønster. Dette kan bruges til at angive flere søgemønstre eller til at beskytte et mønster, der begynder med en bindestreg (-) (-e er specificeret af POSIX .) -f FILE, –file=FILE Henter mønstre fra FILE, et pr. linje. Den tomme fil indeholder nul mønstre og matcher derfor intet. (-f er specificeret afPOSIX .) -i, –ignore-case Ignorér forskelle i store og små bogstaver i både PATTERN- og inputfilerne. (-i er specificeret af POSIX .) -v, –invert-match Inverter betydningen af matchning, for at vælge linjer, der ikke matcher. (-v er specificeret af POSIX .) -w, –word-regexp Vælg kun de linjer, der indeholder matches, som danner hele ord. Testen er, at den matchende delstreng enten skal være i begyndelsen af linjen eller indledes af et tegn, der ikke er en ordbestanddel. På samme måde skal den enten være i slutningen af linjen eller efterfulgt af et tegn, der ikke er ordkonstituerende.Ordkonstituerende tegn er bogstaver, cifre og understregning. -x, –line-regexp Vælg kun de matches, der passer nøjagtigt til hele linjen. (-x er specificeret af POSIX .) -y

Obsolut synonym for -i.

General Output Control

-c, –count Undertrykker normal output; udskriv i stedet en optælling af matchende linjer for hver inputfil. Med indstillingen -v, –invert-match (se nedenfor), tæller ikke-matchende linjer. (-c er specificeret af POSIX .) –color, –colour Omgiver de matchede (ikke-tomme) strenge, matchende linjer, kontekstlinjer, filnavne, linjenumre, byte-offsets og separatorer (for felter og grupper af kontekstlinjer) med escape-sekvenser for at vise dem i farver på terminalen. Farverne er defineret af miljøvariablen GREP_COLORS. Den forældede miljøvariabel GREP_COLOR er stadig understøttet, men dens indstilling har ikke prioritet. WHEN er aldrig, altid ellerauto. -L, –files-without-match Undertrykker normal output; i stedet udskrives navnet på hver inputfil, hvorfra der normalt ikke ville være blevet udskrevet output. Scanningen stopper ved den første match. -l, –files-with-matches Undertrykker normalt output; udskriv i stedet navnet på hver inputfil, hvorfra der normalt ville være blevet udskrevet output. Scanningen stopper ved den første match. (-l er specificeret af POSIX .) -m NUM, –max-count=NUM Stop læsning af en fil efter NUM matchende linjer. Hvis input er standard input fra en regulær fil, og NUM matchende linjer er output, sikrer grep, at standard input er placeret lige efter den sidste matchende linje, før det afsluttes, uanset tilstedeværelsen af afsluttende kontekstlinjer. Dette gør det muligt for en kaldende proces at genoptage en søgning. Når grep stopper efter NUM matchende linjer, udsender den eventuelle afsluttende kontekstlinjer. Når indstillingen -c eller –count også anvendes, udsender grep ikke et antal, der er større end NUM. Når -v eller –invert-matchoptionen også anvendes, stopper grep efter at have udgivet NUM ikke-matchende linjer. -o, –only-matching Udskriv kun de matchede (ikke-tomme) dele af en matchende linje, med hver af disse dele på en separat udskriftslinje. -q, –quiet, –silent Stille; skriver ikke noget til standardudgangen. Afslutter straks med status nul, hvis der er fundet et match, selv om der er fundet en fejl. Se også indstillingen –s eller –no-messages. (-q er specificeret af POSIX .) -s, –no-messages Undertrykker fejlmeddelelser om ikke-eksisterende eller ulæselige filer. Note om overførbarhed: I modsætning til GNU grep var 7th Edition Unix grep ikke i overensstemmelse med POSIX , fordi den manglede -q og dens -s indstilling opførte sig som GNU greps -q indstilling.USG -style grep manglede også -q, men dens -s indstilling opførte sig som GNU grep. Bærbare shellskripter bør undgå både -q og -s og bør i stedet omdirigere standard- og fejloutput til /dev/null. (-s er specificeret af POSIX.)

Output Line Prefix Control

-b, –byte-offset Udskriv den 0-baserede byte-offset i inputfilen før hver output-linje. Hvis -o (–only-matching) er angivet, udskrives offset af selve den del, der matcher. -H, –with-filename Udskriv filnavnet for hvert match. Dette er standardindstillingen, når der er mere end én fil at søge i. -h, –no-filename Undertrykker præfiksering af filnavne på output. Dette er standardindstillingen, når der kun er én fil (eller kun standard input) at søge i. –label=LABEL Viser input, der faktisk kommer fra standard input, som input, der kommer fra filen LABEL. Dette er især nyttigt ved implementering af værktøjer somzgrep, f.eks. gzip -cd foo.gz | grep –label=foo -H something. Se også indstillingen -H. -n, –line-number Præfikser hver outputlinje med det 1-baserede linjenummer i dens inputfil. (-n er specificeret af POSIX .) -T, –initial-tab Sørg for, at det første tegn i det faktiske linjeindhold ligger på et tabulatorstop, således at justeringen af tabulatorer ser normal ud. Dette er nyttigt i forbindelse med indstillinger, derprefixerer deres output til det faktiske indhold: -H,-n, og -b. For at forbedre sandsynligheden for, at linjer fra en enkelt fil alle starter i samme kolonne, bevirker dette også, at linjenummeret og byteoffset (hvis det er til stede) udskrives i en feltbredde af minimumstørrelse. -u, –unix-byte-offsets Rapporterer byte-offsets i Unix-stil. Denne indstilling får grep til at rapportere byte-offsets, som om filen var en tekstfil i Unix-stil, dvs. med CR-tegn fjernet. Dette vil give samme resultat som at køre grep på en Unix-maskine. Denne indstilling har ingen virkning, medmindre indstillingen -b også anvendes; den har ingen virkning på andre platforme end MS-DOS og MS -Windows. -Z, –null Udskriv en nul-byte (ASCII NUL-tegnet) i stedet for det tegn, der normalt følger efter et filnavn. For eksempel, grep -lZudsender en nulbyte efter hvert filnavn i stedet for den sædvanlige newline. Denne indstilling gør output utvetydigt, selv i tilfælde af filnavne, der indeholder usædvanlige tegn som newlines. Denne indstilling kan bruges med kommandoer som find -print0, perl -0, sort -z og xargs -0 til at behandle vilkårlige filnavne, selv dem, der indeholder newline-tegn.

Context Line Control

-A NUM, –after-context=NUM Udskriv NUM linjer med efterfølgende kontekst efter matchende linjer. Placerer en linje med en gruppeseparator (–) mellem sammenhængende grupper af matchninger. Med indstillingen -o eller –only-matching har dette ingen effekt, og der gives en advarsel. -B NUM, –before-context=NUM Udskriver NUM linjer af ledende kontekst før matchende linjer. Placerer en linje, der indeholder en gruppeseparator (–), mellem sammenhængende grupper af matchninger. Med indstillingen -o eller –only-matching har dette ingen effekt, og der gives en advarsel. -C NUM, -NUM, –context=NUM Udskriver NUM linjer af outputkontekst. Placerer en linje, der indeholder en gruppeseparator (–), mellem sammenhængende grupper af matches. Med indstillingen -o eller–only-matching har dette ingen effekt, og der gives en advarsel.

Fil- og mappevalg

-a, –text Behandler en binær fil som om den var tekst; dette svarer til indstillingen –binary-files=text. –binary-files=TYPE Hvis de første par bytes i en fil viser, at filen indeholder binære data, antages det, at filen er af typen TYPE. Som standard er TYPE binær, og grep udsender normalt enten en enlinet meddelelse om, at en binær fil passer, eller ingen meddelelse, hvis der ikke er nogen overensstemmelse. Hvis TYPE er uden match, antager grep, at en binær fil ikke passer; dette svarer til indstillingen -I. Hvis TYPE er tekst, behandler grep en binær fil som om den var tekst; dette svarer til indstillingen -a. Advarsel: grep –binary-files=text kan udsende binært affald, hvilket kan have ubehagelige bivirkninger, hvis output er en terminal, og hvis terminaldriveren fortolker noget af det som kommandoer. -D ACTION, –devices=ACTION Hvis en inddatafil er en enhed, FIFO eller socket, skal du bruge ACTION til at behandle den. Som standard er ACTION læst, hvilket betyder, at enheder læses som om de var almindelige filer. Hvis ACTION er skip, springes enheder over i stilhed. -d ACTION, –directories=ACTION Hvis en inddatafil er en mappe, skal du bruge ACTION til at behandle den. Som standard er ACTION read, hvilket betyder, at kataloger læses, som om de var almindelige filer. Hvis ACTION er skip, springes kataloger over i stilhed. Hvis ACTION er recurse, læser grep alle filer under hver mappe, rekursivt; dette svarer til -r-indstillingen. –exclude=GLOB Spring filer over, hvis grundnavn svarer til GLOB (ved hjælp af wildcard matching). En glob med filnavn kan bruge *, ? og som jokertegn, og \ for at citere et jokertegn eller en skråstreg bogstaveligt. –exclude-from=FILE Spring filer over, hvis grundnavn passer til en af de filnavne-globs, der er læst fra FILE (ved hjælp af wildcard-matching som beskrevet under –exclude). –exclude-dir=DIR Udelukker mapper, der matcher mønsteret DIR, fra rekursive søgninger. -I

Behandler en binær fil, som om den ikke indeholder matchende data; dette svarer til indstillingen –binary-files=without-match.

–include=GLOB Søg kun i filer, hvis grundnavn passer til GLOB (ved hjælp af wildcard-matching som beskrevet under –exclude). -R, -r, –recursive Læs alle filer under hver mappe, rekursivt; dette svarer til -d recurse-indstillingen.

Andre indstillinger

–line-buffered Brug liniebuffering på output. Dette kan medføre en ydelsesforringelse. –mmap

Hvis det er muligt, skal du bruge systemopkaldet mmap(2) til at læse input i stedet for standardopkaldet read(2). I nogle situationer giver –mmap en bedre ydeevne. Imidlertid kan –mmap forårsage udefineret adfærd (herunder core dumps), hvis en inddatafil skrumper, mens grep arbejder, eller hvis der opstår en I/O-fejl.

-U, –binary Behandler filen/filerne som binære filer. Som standard, under MS-DOS og MS -Windows, gætter grep filtypen ved at se på indholdet af de første 32 KB, der læses fra filen. Hvis grep beslutter, at filen er en tekstfil, fjerner den CR-tegnene fra det oprindelige filindhold (for at få regulære udtryk med ^ og $ til at fungere korrekt). Angivelse af -U tilsidesætter dette gætværk og får alle filer til at blive læst og videregivet ordret til matchningsmekanismen; hvis filen er en tekstfil med CR/LF-par i slutningen af hver linje, vil dette få nogle regulære udtryk til at mislykkes. Denne indstilling har ingen virkning på andre platforme end MS-DOS og MS -Windows. -z, –null-data Behandler input som et sæt af linjer, der hver især afsluttes af en nulbyte (ASCII NUL-tegnet) i stedet for en newline. Ligesom -Zeller –null-indstillingen kan denne indstilling bruges sammen med kommandoer som sort -z til at behandle vilkårlige filnavne.

Regulære udtryk

Et regulært udtryk er et mønster, der beskriver et sæt af strenge. Regulære udtryk konstrueres analogt med aritmetiske udtryk, ved at bruge forskellige operatorer til at kombinere mindre udtryk.

grep forstår tre forskellige versioner af syntaksen for regulære udtryk: “basic”, “extended” og “perl”. I GNU grep er der ingen forskel i den tilgængelige funktionalitet mellem grundlæggende og udvidet syntaks. I andre implementeringer er grundlæggende regulære udtryk mindre effektive. Den følgende beskrivelse gælder for udvidede regulære udtryk; forskellene for grundlæggende regulære udtryk er opsummeret bagefter. Perl regulære udtryk giver yderligere funktionalitet og er dokumenteret i pcresyntax(3) og pcrepattern(3), men er muligvis ikke tilgængelige på alle systemer.

De grundlæggende byggeklodser er de regulære udtryk, der matcher et enkelt tegn. De fleste tegn, herunder alle bogstaver og cifre, er regulære udtryk, der matcher sig selv. Ethvert meta-tegn med særlig betydning kan anføres ved at sætte en skråstreg foran det.

Punktet . matcher ethvert enkelt tegn.

Tegnklasser og parentesudtryk

Et parentesudtryk er en liste af tegn, der er omsluttet af . Det passer til ethvert enkelt tegn i denne liste; hvis det første tegn i listen er et skilletegn ^, passer det til ethvert tegn, der ikke er på listen. Det regulære udtryk passer f.eks. til et enkelt ciffer.

I et parentesudtryk består et intervaludtryk af to tegn, der er adskilt af en bindestreg. Det passer til ethvert enkelt tegn, der sorteres mellem de to tegn, inklusive, ved hjælp af stedets kollateringssekvens og tegnsæt. I standardlokalkode C svarer det f.eks. til. Mange sprogskemaer sorterer tegn i ordbogsrækkefølge, og i disse sprogskemaer svarer det typisk ikke til ; det kan f.eks. svare til ,. For at opnå den traditionelle fortolkning af parentesudtryk kan du bruge C-lokalkode ved at indstille miljøvariablenLC_ALL til værdien C.

Finalt er visse navngivne tegnklasser foruddefineret i parentesudtryk, som følger. Deres navne er selvforklarende, og de er, , , , , , , , , , , , , , , , og . F.eks. betyder ] , bortset fra at sidstnævnte form afhænger af Clocale og ASCII-tegnkodningen, mens førstnævnte er uafhængig af locale og tegnsæt. (Bemærk, at parenteserne i disse klassebetegnelser er en del af de symbolske navne og skal medtages ud over de parenteser, der afgrænser parentesudtrykket). De fleste meta-tegn mister deres særlige betydning inden for parentesudtryk. For at inkludere et bogstaveligt ] placeres det først på listen. På samme måde skal bogstaver ^ placeres andre steder end først for at inkludere dem. Endelig, for at inkludere et bogstav – placerer du det sidst.

Anchoring

Karet ^ og dollartegnet $ er meta-tegn, der henholdsvis matcher den tomme streng i begyndelsen og slutningen af en linje.

Backslash-tegnet og specielle udtryk

Symbolerne \< og \> passer henholdsvis til den tomme streng i begyndelsen og slutningen af et ord. Symbolet \b passer til den tomme streng i kanten af et ord, og \B passer til den tomme streng, forudsat at den ikke er i kanten af et ord. Symbolet \w er et synonym for], og \W er et synonym for ].

Repetition

Et regulært udtryk kan efterfølges af en af flere gentagelsesoperatorer: ?

Det foregående element er valgfrit og matches højst én gang.

*

Det foregående element matches nul eller flere gange.

+

Det foregående element matches én eller flere gange.

{n}

Det foregående element matches præcis n gange.

{n,}

Det foregående element matches n eller flere gange.

{,m}

Det foregående element passer højst m gange.

{n,m}

Det foregående element passer mindst n gange, men ikke mere end m gange.

Konkatenation

To regulære udtryk kan sammenkædes; det resulterende regulære udtryk passer til enhver streng dannet ved at sammenkæde to understrenge, der henholdsvis passer til de sammenkædede udtryk.

Alternation

To regulære udtryk kan sammenføjes med infix-operatoren |; det resulterende regulære udtryk matcher enhver streng, der matcher et af de to alternative udtryk.

Præcedens

Gentagelse har forrang frem for sammenkædning, som igen har forrang frem for alternation. Et helt udtryk kan være omsluttet af parenteser for at tilsidesætte disse regler om forrang og danne et underudtryk.

Back-referencer og underudtryk

Back-referencen \n, hvor n er et enkelt ciffer, passer til den delstreng, der tidligere er matchet af det n-te parentesudtryk i det regulære udtryk.

Basiske vs. udvidede regulære udtryk

I basiske regulære udtryk mister metategnene ?, +, {, |, (, og ) deres særlige betydning; i stedet anvendes de tilbageføjede versioner \?, \+, \{, \|, \(, og \).

Traditionel egrep understøttede ikke metategnet {, og nogle egrep-implementationer understøtter \{ i stedet, så bærbare scripts bør undgå { i grep -E-mønstre og bør bruge til at matche et bogstaveligt {.

GNU grep -E forsøger at understøtte traditionel brug ved at antage, at { ikke er speciel, hvis det ville være starten på en ugyldigintervalspecifikation. For eksempel søger kommandoen grep -E ‘{1’ efter strengen af to tegn {1 i stedet for at rapportere en syntaksfejl i detregulære udtryk. POSIX.2 tillader denne opførsel som en udvidelse, men bærbare scripts bør undgå den.

Miljøvariabler

Opførslen af grep påvirkes af følgende miljøvariabler.

Local for kategorien LC_foo angives ved at undersøge de tre miljøvariabler LC_ALL, LC_foo, LANG, i den rækkefølge. Den første af disse variabler, der er indstillet, angiver lokalområdet. Hvis f.eks. LC_ALL ikke er indstillet, men LC_MESSAGES er indstillet tilpt_BR, anvendes det brasilianske portugisiske sprog for kategorien LC_MESSAGES. C-lokalskemaet anvendes, hvis ingen af disse miljøvariabler er indstillet, hvis lokalskataloget ikke er installeret, eller hvis grep ikke blev kompileret med national language support ( NLS ).

GREP_OPTIONS Denne variabel angiver standardindstillinger, der skal placeres foran eventuelle eksplicitte indstillinger. Hvis GREP_OPTIONS f.eks. er’–binary-files=without-match –directories=skip’, opfører grep sig som om de to indstillinger –binary-files=without-match og–directories=skip var blevet angivet før alle eksplicitte indstillinger. Specifikationer af indstillinger er adskilt af mellemrum. En skråstreg undgår det næste tegn, så den kan bruges til at angive en indstilling, der indeholder whitespace eller en skråstreg. GREP_COLOR Denne variabel angiver den farve, der bruges til at fremhæve den matchede (ikke-tomme) tekst. Den er forældet til fordel for GREP_COLORS, men understøttes stadig. Themt-, ms- og mc-funktionerne af GREP_COLORS har prioritet over den. Den kan kun angive den farve, der bruges til at fremhæve den matchendeikke-tomme tekst i enhver matchende linje (en valgt linje, når kommandolinjeindstillingen -v er udeladt, eller en kontekstlinje, når -v er angivet). Standardværdien er 01;31, hvilket betyder en fed rød forgrundstekst på terminalens standardbaggrund. GREP_COLORS Angiver de farver og andre attributter, der bruges til at fremhæve forskellige dele af output. Værdien er en liste med kolon-separeret liste over egenskaber, der som standard er ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 med de boolske egenskaber rv og ne udeladt (dvs. false). De understøttede funktioner er som følger: sl=

SGR-understreng for hele udvalgte linjer (dvs. matchende linjer, når kommandolinjeindstillingen -v er udeladt, eller ikke-matchende linjer, når -v er angivet). Hvis den boolske rv-funktion og kommandolinjeindstillingen -v imidlertid begge er angivet, gælder det for kontekstmatchende linjer i stedet. standardværdien er tom (dvs. terminalens standardfarvepar).

cx=

SGR-understreng for hele kontekstlinjer (dvs. ikke-matchende linjer, når kommandolinjeindstillingen -v er udeladt, eller matchende linjer, når -v er specificeret). Hvis imidlertid både den boolske rv-funktion og kommandolinjeindstillingen -v er angivet, gælder den i stedet for udvalgte ikke-matchende linjer. Standardværdien er tom (dvs. terminalens standardfarvepar).

rv

Boolsk værdi, der vender om (bytter) betydningen af sl=- og cx=-funktionerne, når kommandolinjeindstillingen -v er angivet. Standardværdien er false (dvs. evnen er udeladt).

mt=01;31

SGR-understreng til at matche ikke-tom tekst i en hvilken som helst matchende linje (dvs. en valgt linje, når kommandolinjeindstillingen -v er udeladt, eller en kontekstlinje, når -v er angivet). Indstilling af dette svarer til at indstille både ms= og mc= på én gang til den samme værdi. Standardværdien er en fed rød tekstforgrund over den aktuelle linjebaggrund.

ms=01;31

SGR-understreng til at matche ikke-tom tekst i en valgt linje. (Dette bruges kun, når kommandolinjeindstillingen -v er udeladt.) Effekten af indstillingenesl= (eller cx= hvis rv) forbliver aktiv, når dette træder i kraft. Standardværdien er en fed rød tekstforgrund over den aktuelle linjebaggrund.

mc=01;31

SGR-understreng til at matche ikke-tom tekst i en kontekstlinje. (Dette bruges kun, når kommandolinjeindstillingen -v er specificeret.) Effekten af mulighedencx= (eller sl= hvis rv) forbliver aktiv, når dette træder i kraft. Standardværdien er en fed rød tekstforgrund over den aktuelle linjebaggrund.

fn=35

SGR-understreng for filnavne med præfiksering af enhver indholdslinje. Standardværdien er en magenta tekstforgrund over terminalens standardbaggrund.

ln=32

SGR-understreng for linjenumre, der indledes med en hvilken som helst indholdslinje. Standardindstillingen er en grøn tekstforgrund over terminalens standardbaggrund.

bn=32

SGR-understreng for byte-offsets med en hvilken som helst indholdslinje som præfiks. Standardværdien er en grøn tekstforgrund over terminalens standardbaggrund.

se=36

SGR-understreng for separatorer, der indsættes mellem markerede linjefelter (:), mellem kontekstlinjefelter (-) og mellem grupper af tilstødende linjer, når der er angivet en kontekst, der ikke er nul (–). Standardværdien er en cyanfarvet tekstforgrund over terminalens standardbaggrund.

ne

Boolsk værdi, der forhindrer rydning til linjens slutning ved hjælp af Slet i linje (EL) til højre (\33). LC_ALL, LC_CTYPE, LANG Disse variabler angiver lokaliteten for LC_CTYPE-kategorien, som bestemmer typen af tegn, f.eks. hvilke tegn der er whitespace. LC_ALL, LC_MESSAGES, LANG Disse variabler angiver lokaliteten for kategorien LC_MESSAGES, som bestemmer det sprog, som grep bruger til meddelelser. Clocale bruger som standard amerikanske engelske meddelelser. POSIXLY_CORRECT Hvis den er sat, opfører grep sig som POSIX.2 kræver; ellers opfører grep sig mere som andre GNU-programmer.POSIX.2 kræver, at indstillinger, der følger efter filnavne, skal behandles som filnavne; som standard bliver sådanne indstillinger permuteret til forsiden afoperandlisten og behandles som indstillinger. POSIX.2 kræver også, at ikke-genkendte indstillinger skal diagnosticeres som “ulovlige”, men da de ikke rigtig er imod loven, er standarden at diagnosticere dem som “ugyldige”. POSIXLY_CORRECT deaktiverer også _N_GNU_nonoption_argv_flags_, som er beskrevet nedenfor. _N_GNU_nonoption_argv_flags_ (Her er N greps numeriske proces-ID.) Hvis det i-te tegn i denne miljøvariabel har værdien 1, skal du ikke betragte det i-te operand i grep som en option, selv om det ser ud til at være en. En shell kan sætte denne variabel i miljøet for hver kommando, den kører, og angive, hvilke operander der er resultatet af filnavnets wildcard-udvidelse og derfor ikke skal behandles som valgmuligheder. Denne adfærd er kun tilgængelig med GNU C-biblioteket, og kun når POSIXLY_CORRECT ikke er sat.

Afslutningsstatus

Normalt er afslutningsstatus 0, hvis udvalgte linjer er fundet, og 1 ellers. Men exit-status er 2, hvis der er opstået en fejl, medmindre indstillingen -q eller–quiet eller –silent er anvendt, og en valgt linje er fundet. Bemærk dog, at POSIX kun for programmer som f.eks. somgrep, cmp og diff kræver, at exit-status i tilfælde af fejl skal være større end 1. Det er derfor tilrådeligt af hensyn til portabilitet at anvende logik, der tester for denne generelle betingelse i stedet for streng lighed med 2.

Copyright

Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.

Dette er fri software; se kildekoden for kopieringsbetingelser. Der er INGEN garanti; ikke engang for MERCHANTABILITY eller FITNESS FOR A PARTICULARPURPOSE.

Bugs

Reporting Bugs

Email bug reports to <[email protected]>, a mailing list whose web page is <http://lists.gnu.org/mailman/listinfo/bug-grep>.grep’s Savannah bug tracker is located at <http://savannah.gnu.org/bugs/?group=grep>.

Kendte fejl

Store gentagelsestal i konstruktionen {n,m} kan få grep til at bruge meget hukommelse. Desuden kræver visse andreobscure regulære udtryk eksponentiel tid og plads, og kan få grep til at løbe tør for hukommelse.

Back-references er meget langsomme, og kan kræve eksponentiel tid.

Se også

Regulære manual sider

awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3), pcrepattern(3),terminfo(5), glob(7), regex(7).

POSIX Programmer’s Manual Page

grep(1p).

TeXinfo dokumentation

Den fulde dokumentation for grep vedligeholdes som en TeXinfo manual. Hvis programmerne info og grep er korrekt installeret på dit sted,bør kommandoen info grep give dig adgang til den komplette manual.

Notes

GNU ‘s ikke Unix, men Unix er et bæst; dens flertalsform er Unixen.

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg