table of contents
GREP(1) | General Commands Manual | GREP(1) |
NAMN¶
grep, egrep, fgrep — skriv ut rader som matchar ett mönster
SYNOPSIS¶
grep [FLAGGOR] MÖNSTER
[FIL…]
grep [FLAGGOR] -e MÖNSTER …
[FIL…]
grep [FLAGGOR] -f FIL …
[FIL…]
BESKRIVNING¶
grep söker efter MÖNSTER i varje FIL. En FIL som är ”-” står för standard in. Om ingen FIL anges undersöker rekursiva sökningar arbetskatalogen och ickerekursiva sökningar läser standard in. Som standard skriver grep ut de matchande raderna.
Dessutom är variantprogrammen egrep och fgrep samma som grep -E respektive grep -F. Dessa varianter bör undvikas, men tillhandahålls för bakåtkompatibilitet.
FLAGGOR¶
Allmän programinformation¶
- --help
- Skriv ut ett användningsmeddelande och avsluta.
- -V, --version
- Skriv ut greps versionsnummer och avsluta.
Matcharval¶
- -E, --extended-regexp
- Tolka MÖNSTER som ett utökat reguljärt uttryck, (URU, se nedan).
- -F, --fixed-strings
- Tolka MÖNSTER som en lista av fasta strängar (istället för reguljära uttryck), separerade av nyrader, där vilken som helst kan matcha.
- -G, --basic-regexp
- Tolka MÖNSTER som ett grundläggande reguljärt uttryck (GRU, se nedan). Detta är standardläget.
- -P, --perl-regexp
- Tolka mönstret som ett Perl-kompatibelt reguljärt uttryck (PKRU). Detta är experimentellt och grep -P kan varna för oimplementerade funktioner.
Matchningsstyrning¶
- -e MÖNSTER, --regexp=MÖNSTER
- Använd MÖNSTER som mönster. Om denna flagga används flera gånger eller kombineras med flaggan -f (--file), sök efter alla givna mönster. Denna flagga kan användas för att skydda ett mönster som börjar med ”-”.
- -f FIL, --file=FIL
- Hämta mönster från FIL, ett per rad. Om denna flagga används flera gånger eller kombineras med flaggan -e (--regexp), sök efter alla givna mönster. En tom fil innehåller noll mönster, och matchar därför ingenting.
- -i, --ignore-case
- Ignorera skiftlägesdistinktioner så att bokstäver som skiljer endast i skiftläge matchar varandra.
- -v, --invert-match
- Invertera betydelsen hos matchningen, för att välja rader som inte matchar.
- -w, --word-regexp
- Välj endast rader som innehåller matchningar som utgör hela ord. Testet är att den matchade delsträngen antingen måste finnas i början på raden, eller föregås av ett tecken som inte utgör en del av ett ord. På motsvarande sätt måste den antingen finnas vid slutet av raden eller följas av ett tecken som inte utgör en del av ett ord. Tecken som utgör del av ord är bokstäver, siffror och understrykningstecknet. Denna flagga har ingen effekt om även -x anges.
- -x, --line-regexp
- Välj endast de matchningar som precis matchar hela raden. För ett mönster som är ett reguljärt uttryck är detta som att sätta parenteser runt mönstret och sedan omge det med ^ och $.
- -y
- Föråldrad synonym till -i.
Allmän utmatningsstyrning¶
- -c, --count
- Utelämna normal utdata; skriv istället antalet matchade rader för varje indatafil. Med flaggan -v, --invert-match (se nedan), räkna rader som inte matchar.
- --color[=NÄR], --colour[=NÄR]
- Omge matchade (icke-tomma) strängar, matchande rader, sammanhangsrader, filnamn, radnummer, byteavstånd och separatorer (för fält och grupper av sammanhangsrader) med styrsekvenser för att visa dem i färg på terminalen. Färgerna definieras av miljövariabeln GREP_COLORS. Den föråldrade miljövariabeln GREP_COLOR stödjs fortfarande, men dess inställning har inte prioritet. NÄR är never, always eller auto.
- -L, --files-without-match
- Utelämna normal utdata; skriv istället namnen på varje indatafil från vilken ingen utdata normalt skulle ha skrivits. Sökningen kommer sluta vid första matchningen.
- -l, --files-with-matches
- Utelämna normal utdata; skriv istället namnet på varje indatafil från vilken utdata normalt skulle ha skrivits. Sökning kommer sluta vid första matchningen.
- -m ANT, --max-count=ANT
- Sluta läsa en fil efter ANT matchande rader. Om indata är standard in från en normal fil, och ANT matchande rader skrivits, säkerställer grep att standard in är positionerad precis efter den sista matchande raden före den avslutar, oavsett förekomsten av efterföljande sammanhangsrader. Detta gör det möjligt för en anropande process att återuppta en sökning. När grep stannar efter NUM matchande rader skriver den ut eventuella efterföljande sammanhangsrader. När flaggan -c eller --count också används skriver grep inte ut ett antal större än ANT. När flaggan -v eller --invert-match också används stannar grep efter att ha skrivit ut ANT rader som inte matchar.
- -o, --only-matching
- Skriv bara ut de matchande (icke-tomma) delarna av en matchande rad, med varje sådan del på en separat utskriftsrad.
- -q, --quiet, --silent
- Tyst; skriv inte ut något på standard ut. Avsluta omedelbart med status noll om en matchning hittas, även om ett fel upptäcktes. Se även flaggan -s eller --no-messages.
- -s, --no-messages
- Utelämna felmeddelanden om filer som inte finns eller är oläsbara.
Styrning av prefix på utmatningsrader¶
- -b, --byte-offset
- Skriv ut det 0-baserade byteavståndet inom indatafilen före varje rad med utdata. Om -o (--only-matching) anges, skriv då avståndet till den matchande delen själv.
- -H, --with-filename
- Skriv ut filnamnet för varje matchning. Detta är standard när det finns mer än en fil att söka i.
- -h, --no-filename
- Utelämna prefixen med filnamn i utdata. Detta är standard när det endast finns en fil (eller standard in) att söka i.
- --label=ETIKETT
- Visa indata som faktiskt kommer från standard in som om den kom från filen ETIKETT. Detta kan speciellt användbart vid implementation av verktyg som zgrep, t.ex., gzip -cd apa.gz | grep --label=apa -H någonting. Se även flaggan -H.
- -n, --line-number
- Prefixa varje utdatarad med det 1-baserade radnumret inom sin indatafil.
- -T, --initial-tab
- Säkerställ att det första tecknet av faktiskt radinnehåll ligger på en tabulatorposition, så att justeringen av tabulaturer ser normal ut. Detta är användbart med flaggor som lägger till ett prefix på utdata till det faktiska innehållet: -H, -n och -b. För att förbättra sannolikheten att alla rader från viss fil kommer börja på samma kolumn får detta också radnumret och byteavståndet (om de finns) att skrivas med en minsta storlek på fältbredden.
- -u, --unix-byte-offsets
- Rapportera byteavstånd i Unix-stil. Denna flagga får grep att rapportera byteavstånd som om filen vore en textfil i Unix-stil, d.v.s., med CR-tecken bortrensade. Detta kommer ge resultat som är identiska med att köra grep på en Unix-maskin. Denna flagga har ingen effekt om inte flaggan -b också används; den har ingen effekt på andra plattformar än MS-DOS och MS-Windows.
- -Z, --null
- Skriv ut en nollbyte (ASCII-tecknet NUL) istället för tecknet som normalt följer efter ett filnamn. Till exempel skriver grep -lZ ut en nollbyte efter varje filnamn istället för den vanliga nyraden. Denna flagga gör utdata otvetydig, även i närvaro av filnamn som innehåller ovanliga tecken som nyrader. Denna flagga kan användas med kommandon som find -print0, perl -0, sort -z och xargs -0 för att bearbeta godtyckliga filnamn, även sådana som innehåller nyradstecken.
Styrning av sammanhangsrader¶
- -A ANT, --after-context=ANT
- Skriv ANT efterföljande sammanhangsrader efter matchande rader. Skriver en rad som innehåller en gruppseparator (--) mellan intilliggande grupper med matchningar. Med flaggan -o eller --only-matching har detta ingen effekt och en varning ges.
- -B ANT, --before-context=ANT
- Skriv ANT inledande sammanhangsrader före matchande rader. Skriver en rad som innehåller en gruppseparator (--) mellan intilliggande grupper med matchningar. Med flaggan -o eller --only-matching har detta ingen effekt och en varning ges.
- -C ANT, -ANT, --context=ANT
- Skriv ANT sammanhangsrader i utdata. Skriver en rad som innehåller en gruppseparator (--) mellan intilliggande grupper med matchningar. Med flaggan -o eller --only-matching har detta ingen effekt och en varning ges.
Fil- och katalogval¶
- -a, --text
- Bearbeta en binärfil som om den vore text; detta är ekvivalent med flaggan --binary-files=text.
- --binary-files=TYP
- Om en fils data eller metadata indikerar att filen innehåller binärdata, anta att filen har typen TYP. Byte:ar som inte är text indikerar binärdata; dessa är antingen utdatabyte:ar som är felaktigt kodade för den aktuella lokalen, eller null-indatabyte:ar när flaggan -z inte ges.
- Som standard är TYP binary, och grep upptäcker att en fil är binär utelämnar den vidare utdata, och skriver istället ett enrads meddelande som säger att en binär fil matchar, eller inget meddelande om det inte finns någon matchning.
- Om TYP är without-match antar grep, när den upptäcker att en fil är binär, att resten av filen inte matchar; detta är ekvivalent med flaggan -I.
- Om TYP är text bearbetar grep en binärfil som om den vore text; detta är ekvivalent med flaggan -a.
- När TYP är binary kan grep hantera icke-textbyte:ar som radavslutare även utan flaggan -z. Detta betyder att val av binary eller text kan påverka huruvida ett mönster matchar en fil. Till exempel, när TYP är binary kan q$ matcha q omedelbart följt av en null-byte, medan detta inte matchar när TYP är text. Omvänt, när TYP är binary kan mönstret . (punkt) inte matcha en null-byte.
- Varning: flaggan -a kan skriva ut binärt skräp, vilket kan ha otrevliga sidoeffekter om utdata är en terminal och om terminaldrivrutinen tolkar en del av det som kommandon. Å andra sidan, vid läsning av filer vars textkodning är okänd kan det vara till hjälp att använda -a eller att sätta LC_ALL='C' i miljön, för att hitta fler matchningar även om matchningarna inte är säkra att visas direkt.
- -D ÅTGÄRD, --devices=ÅTGÄRD
- Om en indatafil är en enhet (device), FIFO eller ett uttag (socket), använd då ÅTGÄRD för att bearbeta den. Som standard är ÅTGÄRD read, vilket betyder att enheten läses som om den vore en vanlig fil. Om ÅTGÄRD är skip hoppas enheter tyst över.
- -d ÅTGÄRD, --directories=ÅTGÄRD
- Om en indatafil är en katalog, använd ÅTGÄRD för att bearbeta den. Som standard är ÅTGÄRD read, d.v.s., läs kataloger som om de vore vanliga filer. Om ÅTGÄRD är skip, hoppa tyst över kataloger. Om ÅTGÄRD är recurse, läs alla filer under varje katalog, rekursivt, och följ symboliska länkar endast om de finns på kommandoraden. Detta är ekvivalent med flaggan -r.
- --exclude=GLOB
- Hoppa över eventuella kommandoradsfiler med ett namnsuffix som matchar mönstret GLOB med jokerteckensmatchning; ett namnsuffix är antingen hela namnet, eller ett suffix som startar efter ett / och före att +icke-/. Vid rekursiv sökning, hoppa över eventuella underfiler vars basnamn matchar GLOB; basnamnet är delen efter det sista /. Ett mönster kan använda *, ? och […] som jokertecken, och \ för att skydda ett literalt jokertecken eller omvänt snedstreck.
- --exclude-from=FIL
- Hoppa över filer vars basnamn matchar något av filnamns-globbarna som läses från FIL (med användning av jokerteckenmatchning som beskrivs under --exclude).
- --exclude-dir=GLOB
- Hoppa över eventuella kommandoradskataloger med ett namnsuffix som matchar mönstret GLOB. Vid rekursiv sökning, hoppa över eventuella underkataloger vars basnamn matchar GLOB. Ignorera eventuella överflödiga avslutande snedstreck i GLOB.
- -I
- Bearbeta en binär fil som om den inte innehöll någon matchande data; detta är ekvivalent med flaggan --binary-files=without-match.
- --include=GLOB
- Sök endast i filer vars basnamn matchar GLOB (med användning av jokerteckenmatchning som beskrivs under --exclude).
- -r, --recursive
- Läs alla filer under varje katalog, rekursivt, och följ symboliska länkar endast om de finns på kommandoraden. Observera att om ingen filoperand anges söker grep i arbetskatalogen. Detta är ekvivalent med flaggan -d recurse.
- -R, --dereference-recursive
- Läs alla filer under varje katalog, rekursivt. Följ alla symboliska länkar, till skillnad mot -r.
Andra flaggor¶
- --line-buffered
- Använd radbuffring av utdata. Detta kan medföra en prestandakostnad.
- -U, --binary
- Behandla filerna som binära. Som standard, under MS-DOS och MS-Windows gissar grep huruvida en fil är text eller binär så som det beskrivs för flaggan --binary-files. Om grep avgör att filen är en textfil tar den bort CR-tecknen från filens originalinnehåll (för att reguljära uttryck med ^ och $ skall fungera korrekt). Genom att ange -U åsidosätter man dessa gissningar, och gör att alla filer läses och skickas till matchningsmekanismen ordagranna; om filen är en textfil med CR/LF-par i slutet av varje rad kommer detta att få några reguljära uttryck att misslyckas. Denna flagga har ingen effekt på andra plattformar än MS-DOS och MS-Windows.
- -z, --null-data
- Behandla indata och utdata som sekvenser av rader, där var och en är avslutad av en nollbyte (ASCII-tecknet NUL) istället för en nyrad. Liksom flaggorna -Z eller --null kan denna flagga användas med kommandon som sort -z för att bearbeta godtyckliga filnamn.
REGULJÄRA UTTRYCK¶
Ett reguljärt uttryck är ett mönster som beskriver en uppsättning strängar. Reguljära uttryck konstrueras analogt med aritmetiska uttryck, genom att använda olika operatorer för att kombinera mindre uttryck.
grep förstår tre olika versioner av syntax för reguljära uttryck: ”grundläggande” (GRU), ”utökade” (URU) och ”perl” (PKRU). I GNU grep finns det ingen skillnad i tillgänglig funktionalitet mellan grundläggande och utökade syntaxer. I andra implementationer är grundläggande reguljära uttryck mindre kraftfulla. Följande beskrivning gäller för utökade reguljära uttryck; skillnaderna i grundläggande reguljära uttryck summeras efteråt. Perl-kompatibla reguljära uttryck ger en annan funktionalitet, och dokumenteras i pcresyntax(3) och pcrepattern(3), men fungerar bara om PKRU är tillgängligt på systemet.
De grundläggande byggblocken är de reguljära uttryck som matchar ett enda tecken. De flesta tecken, inklusiva alla bokstäver och siffror, är reguljära uttryck som matchar sig själva. Alla metatecken med speciell betydelse kan skyddas genom att föregå dem med ett omvänt snedstreck.
Punkten . matchar alla enstaka tecken.
Teckenklasser och hakparentesuttryck¶
Ett hakparentesuttryck är en lista av tecken omgivna av [ och ]. Det matchar vilket enstaka tecken som helst som finns i listan; om det första tecknet i listan är en cirkumflex ^ då matchar det vilket tecken som helst som inte finns i listan. Till exempel matchar det reguljära uttrycket [0123456789] en godtycklig siffra.
Inom ett hakparentesuttryck består ett intervalluttryck av två tecken avskilda med ett bindestreck. Det matchar alla enstaka tecken som sorteras mellan de två tecknen, inklusive, med användning av lokalens sorteringsordning och teckenuppsättning. Till exempel, i standardlokalen C är [a-d] ekvivalent med [abcd]; det kan vara ekvivalent med [aAbBcCd], till exempel. För att få den traditionella tolkningen av hakparentesuttryck kan man använda lokalen C genom att sätta miljövariabeln LC_ALL till värdet C.
Slutligen är vissa namngivna klasser av tecken fördefinierade inom hakparentesuttryck enligt följande. Deras namn är självförklarande, och de är [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] och [:xdigit:]. Till exempel betyder [[:alnum:]] teckenklassen med siffror och bokstäver i den aktuella lokalen. I lokalen C och teckenuppsättningskodningen ASCII är detta detsamma som [0-9A-Za-z]. (Observera att hakparenteserna i dessa klassnamn är en del av de symboliska namnen, och måste inkluderas utöver hakparenteserna som avgränsar hakparentesuttrycket.) De flesta metatecken förlorar sin specialbetydelse inuti hakparentesuttryck. För att inkludera ett ordagrant ], placera det först i listan. På motsvarande sätt, för att inkludera ett ordagrant ^, placera det var som helst utom först. Slutligen, för att inkludera ett bokstavligt -, placera det sist.
Förankring¶
Circumflex ^ och dollartecknet $ är metatecken som matchar den tomma strängen i början respektive slutet av en rad.
Tecknet omvänt snedstreck och specialuttryck¶
Symbolerna \< och \> matchar den tomma strängen i början respektive slutet av ett ord. Symbolen \b matchar den tomma strängen vid gränsen av ett ord, och \B matchar den tomma strängen förutsatt att det inte är vid gränsen av ett ord. Symbolen \w är en synonym för [_[:alnum:]] och \W är en synonym för [^_[:alnum:]].
Upprepning¶
Ett reguljärt uttryck kan följas av en eller flera upprepningsoperatorer:
- ?
- Föregående element är valfritt och matchar högst en gång.
- *
- Föregående element kommer matchas noll eller flera gånger.
- +
- Föregående element kommer matchas en eller flera gånger.
- {n}
- Föregående element matchas exakt n gånger.
- {n,}
- Föregående element matchas n eller fler gånger.
- {,m}
- Föregående element matchas högst m gånger. Detta är en GNU-utvidgning.
- {n,m}
- Föregående element matchas åtminstone n gånger, men inte mer än m gånger.
Sammansättning¶
Två reguljära uttryck kan sättas samman; det resulterande reguljära uttrycket matchar en sträng som är skapad genom sammansättning av två delsträngar som matchar respektive del av det sammansatta uttrycket.
Alternativ¶
Två reguljära uttryck kan sättas samman med infixoperatorn |; det resulterande reguljära uttrycket matchar en sträng som matchar endera av de alternativa uttrycken.
Precedens¶
Upprepning har precedens före sammansättning, vilket i sin tur har precedens före alternativ. Ett helt uttryck kan omges av parenteser för att åsidosätta dessa precedensregler och skapa ett deluttryck.
Bakåtreferenser och deluttryck¶
Bakåtreferensen \n, där n är en ensam siffra, matchar den delsträng som tidigare matchats av det n:e parentesomgivna deluttrycket i det reguljära uttrycket.
Grundläggande gentemot utökade reguljära uttryck¶
I grundläggande reguljära uttryck förlorar metatecknen ?, +, {, |, ( och ) sina speciella betydelser; använd istället versionen med omvänt snedstreck \?, \+, \{, \|, \( och \).
MILJÖVARIABLER¶
Beteendet hos grep påverkas av följande miljövariabler.
Lokalen för kategorin LC_apa anges genom att undersöka de tre miljövariablerna LC_ALL, LC_apa, LANG, i den ordningen. Den första av dessa variabler som är satt definierar lokalen. Till exempel, om LC_ALL inte är satt, men LC_MESSAGES är satt till pt_BR, då används lokalen brasiliansk portugisiska till kategorin LC_MESSAGES. Lokalen C används om ingen av dessa miljövariabler är satt, om lokalkatalogen inte är installerad eller om grep inte kompilerades med stöd för nationella språk (NLS). Skalkommandot locale -a listar lokaler som för närvarande finns tillgängliga.
- GREP_OPTIONS
- Denna variabel anger standardflaggor som skall placeras före alla explicita flaggor. Eftersom detta orsakar problem när man skriver portabla skript kommer denna funktion att tas bort i en framtida utgåva av grep, och grep varnar om den används. Använd ett alias eller skript istället.
- GREP_COLOR
- Denna variabel anger färgen att använda för att markera matchad (icke-tom) text. Den undanbedes till förmån för GREP_COLORS, men stödjs fortfarande. Förmågorna mt, ms och mc hos GREP_COLORS har prioritet framför den. Den kan endast ange färgen som används för att markera den matchande icke-tomma texten på en matchande rad (en vald rad när kommandoradsflaggan -v utelämnas, eller en sammanhangsrad när -v anges). Standard är 01;31, vilket betyder fet röd text i förgrundstext framför terminalens standardbakgrund.
- GREP_COLORS
- Anger färgerna och andra attribut som används för att markera olika delar av utdata. Dess värde är en kolonseparerad lista av förmågor vilken som standard är ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 med de booleanska förmågorna rv och ne utelämnade (d.v.s. falska). De förmågor som stödjs är som följer.
- sl=
- SGR-delsträng för hela valda rader (d.v.s., matchande rader när kommandoradsflaggan -v inte är med, eller icke-matchande rader när -v anges). Om däremot den booleska förmågan rv och kommandoradsflaggan -v båda anges gäller den för sammanhangsmatchande rader istället. Standardvärdet är tomt (d.v.s., terminalens standardfärgpar).
- cx=
- SGR-delsträng för hela sammanhangsrader (d.v.s., icke matchande rader när kommandoradsflaggan -v inte är med, eller matchande rader när -v anges). Om däremot den booleska förmågan rv och kommandoradsflaggan -v båda anges gäller den för valda icke-matchande rader istället. Standardvärdet är tomt (d.v.s., terminalens standardfärgpar).
- rv
- Booleskt värde som inverterar (byter) betydelsen på förmågorna sl= och cx= när kommandoradsflaggan -v är med. Standardvärdet är falskt (d.v.s., förmågan utelämnas).
- mt=01;31
- SGR-delsträng för matchande icke-tom text i matchande rader (d.v.s., en vald rad när när kommandoradsflaggan -v inte är med, eller en sammanhangsrad när -v anges). Att sätta denna är ekvivalent med att sätta både ms= och mc= samtidigt till samma värde. Standardvärdet är röd fet text över den aktuella radbakgrunden.
- ms=01;31
- SGR-delsträng för matchande icke-tom text valda rader. (Detta används bara när kommandoradsflaggan -v inte är med.) Effekten av förmågan sl= (eller cx= om rv) är fortfarande aktiv när detta slår till. Standardvärdet är fet röd text i förgrunden över den aktuella radbakgrunden.
- mc=01;31
- SGR-delsträng för matchande icke-tom text i en sammanhangsrad. (Detta används bara när kommandoradsflaggan -v anges.) Effekten av förmågan cx= (eller sl= om rv) är fortfarande aktiv när detta slår till. Standardvärdet är fet röd text i förgrunden över den aktuella radbakgrunden.
- fn=35
- SGR-delsträng för filnamnsprefix på en innehållsrad. Standardvärdet är magenta text i förgrunden över den aktuella radbakgrunden.
- ln=32
- SGR-delsträng för radnummerprefix på en innehållsrad. Standardvärdet är grön text i förgrunden över terminalens standardbakgrund.
- bn=32
- SGR-delsträng för byteavstånd på en innehållsrad. Standardvärdet är grön text i förgrunden över terminalens standardbakgrund.
- se=36
- SGR-delsträng för separatorer som infogas mellan valda radfält (:), mellan kontextradsfält, (-), och mellan grupper av intilliggande rader när nollskild sammanhang anges (--). Standardvärdet är cyan text i förgrunden över terminalens standardbakgrund.
- ne
- Booleskt värde som förhindrar tömning till slutet av raden med Erase in Line (EL) to Right (\33[K) varje gång en färglagd post slutar. Detta behövs på terminaler på vilka EL inte stödjs. Det är utöver det användbart på terminaler för vilka den booleska terminfo-förmågan back_color_erase (bce) inte gäller, när de valda markeringsfärgerna inte påverkar bakgrunden eller när EL är för långsam eller orsakar för mycket flimmer. Standardvärdet är falskt (d.v.s., förmågan utelämnas).
Obervera att booleska förmågor inte har någon del =…. De utelämnas (d.v.s., falska) som standard och blir sanna när de anges.
Se avsnittet Select Graphic Rendition (SGR) i dokumentationen av textterminalen som används för tillåtna värden och deras betydelse som teckenattribut. Dessa delsträngsvärden är heltal i decimal representation och kan slås samman med semikolon. grep tar hand om att sätta samman resultatet till en fullständig SGR-sekvens (\33[…m). Vanliga värden att sätta samman innefattar 1 för fetstil, 4 för understrykning, 5 för blink, 7 för invers, 39 för standardförgrundsfärg, 30 till 37 för förgrundsfärger, 90 till 97 för 16-färgersläge för förgrundsfärger, 38;5;0 till 38;5;255 för 88-färgersläges och 256-färgersläges förgrundsfärger, 49 för standardbakgrundsfärg, 40 till 47 för bakgrundsfärger, 100 till 107 för 16-bitarsläges bakgrundsfärger, och 48;5;0 till 48;5;255 för 88-färgersläges och 256-färgersläges bakgrundsfärger.
- LC_ALL, LC_COLLATE, LANG
- Dessa variabler anger lokalen för kategorin LC_COLLATE, vilken avgör sorteringsordningen som används för att tolka intervalluttryck som [a-z].
- LC_ALL, LC_CTYPE, LANG
- Dessa variabler anger lokalen för kategorin LC_CTYPE, vilken avgör typ på tecken, t.ex. vilka tecken som är mellanrum. Denna kategori avgör även teckenkodningen, det vill säga, huruvida text är kodad med UTF-8, ASCII eller någon annan kodning. I lokalen C eller POSIX är alla tecken kodade som en enda byte och varje byte är ett giltigt tecken.
- LC_ALL, LC_MESSAGES, LANG
- Dessa variabler anger lokalen för kategorin LC_MESSAGES, vilken avgör språket som grep använder för meddelanden. Standardlokalen C använder meddelanden på amerikansk engelska.
- POSIXLY_CORRECT
- Om satt beter sig grep som POSIX kräver; annars beter sig grep mer som andra GNU-program. POSIX kräver att flaggor som följer filnamn måste behandlas som filnamn; normalt flyttas sådana flaggor till början av operandlistan och behandlas som flaggor. Vidare kräver POSIX att okända flaggor diagnostiseras som ”illegal”, men eftersom de inte i egentlig mening strider mot lagen är standard att diagnostisera dem som ”invalid” (ogiltig). POSIXLY_CORRECT avaktiverar även _N_GNU_nonoption_argv_flags_ som beskrivs nedan.
- _N_GNU_nonoption_argv_flags_
- (Här är N greps numeriska process-ID.) Om det i:e tecknet i denna miljövariabels värde är 1, tolka inte den i:e operanden till grep som en flagga, även om den ser ut att vara det. Ett skal kan lägga in denna variabel i miljön för varje kommando det kör, och därigenom ange vilka operander som är resultatet av jokerteckensexpansion av filnamn och därför inte bör hanteras som flaggor. Detta beteende är endast tillgängligt med GNU C-biblioteket, och endast när POSIXLY_CORRECT inte är satt.
SLUTSTATUS¶
Normalt är slutstatusen 0 om en rad valts, 1 om inga rader valts och 2 om ett fel uppstod. Dock, om flaggan -q eller --quiet eller --silent används och en rad valts är slutstatus 0 även om ett fel uppstod.
COPYRIGHT¶
Copyright 1998–2000, 2002, 2005–2017 Free Software Foundation, Inc.
Detta är fri programvara; se källkoden för kopieringsvillkor. Det finns INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL.
FEL¶
Rapportering av fel¶
E-posta felrapporter till Ett och en finns tillgängliga.
Kända fel¶
Höga upprepningsantal i konstruktionen {n,m} kan få grep att använda mängder av minne. Dessutom kräver vissa andra obskyra reguljära uttryck exponentiell tid och utrymme, och kan göra att grep får slut på minne.
Bakåtreferenser är mycket långsamma, och kan behöva exponentiell tid.
SE ÄVEN¶
Reguljära manualsidor¶
awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).
POSIX programmerares manualsida¶
grep(1p).
Fullständig dokumentation¶
En finns tillgänglig. Om programmen info och grep är korrekt installerade på sajten skall kommandot
- info grep
ge dig tillgång till den kompletta manualen.
NOTERINGAR¶
Denna manualsida underhålls endast sporadiskt; den fullständiga dokumentationen är ofta mer aktuell.
ÖVERSÄTTNING¶
Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>
Denna översättning är fri dokumentation; läs GNU General Public License Version 3 eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.
Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.
GNU grep 3.1 | Användarkommandon |