Provided by: manpages-sv_4.21.0-2_all 

NAMN
grep, egrep, fgrep, rgrep — skriv ut rader som matchar mönster
SYNOPSIS
grep [FLAGGA…] MÖNSTER [FIL…]
grep [flagga…] -e MÖNSTER … [FIL…]
grep [FLAGGA…] -f MÖNSTERFIL … [FIL…]
BESKRIVNING
grep söker efter MÖNSTER i varje FIL. MÖNSTER är en eller flera mönster separerade av nyradstecken, och
grep skriver ut varje rad som matchar ett mönster. Typiskt skall MÖNSTER omges av citationstecken när
grep används i ett skalkommando.
En FIL som är ”-” står för standard in. Om ingen FIL anges undersöker rekursiva sökningar arbetskatalogen
och icke-rekursiva sökningar läser från standard in.
Debian inkluderar även variantprogrammen egrep, fgrep och rgrep. Dessa program är desamma som grep -E,
grep -F respektive grep -r. Uppströms avråder från dessa varianter, men Debian tillhandahåller dem för
bakåtkompatibilitet. Av portabilitetsskäl är det rekommendabelt att undvika variantprogrammen, och
använda grep med den relaterade flaggan istället.
FLAGGOR
Allmän programinformation
--help Skriv ut ett användningsmeddelande och avsluta.
-V, --version
Skriv ut greps versionsnummer och avsluta.
Mönstersyntax
-E, --extended-regexp
Tolka MÖNSTER som utökade reguljära uttryck, (URU:er, se nedan).
-F, --fixed-strings
Tolka MÖNSTER som fasta strängar, inte reguljära uttryck.
-G, --basic-regexp
Tolka MÖNSTER som grundläggande reguljära uttryck (GRU:er, se nedan). Detta är standardläget.
-P, --perl-regexp
Tolka MÖNSTER som Perl-kompatibla reguljära uttryck (PKRU:er). Denna flagga är experimentell när
den kombineras med flaggan -z (--null-data), 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. Om FIL är -, läs mönster från standard in.
-i, --ignore-case
Ignorera skiftlägesdistinktioner i mönster och indata, så att bokstäver som skiljer endast i
skiftläge matchar varandra.
--no-ignore-case
Ignorera inte skiftlägesdistinktioner i mönster och indata. Detta är standardläget. Denna flagga
är användbar till att skicka till skalskript som redan använder -i, för att annullera dess effekt
eftersom de två flaggorna åsidosätter 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 $.
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 ovan), 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. 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.
-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 i varje indatafil stannar vid första matchningen.
-m ANT, --max-count=ANT
Sluta läsa en fil efter ANT matchande rader. Om ANT är noll slutar grep omedelbart utan att läsa
indata. Ett ANT på -1 behandlas som oändligheten och grep slutar inte; detta är standardläget. 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.
Detta är en GNU-utvidgning.
-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 vara
användbart för kommandon som transformerar en fils innehåll före sökningen, t.ex., gzip -cd apa.gz
| grep --label=apa -H 'något mönster'. 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.
-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.
--group-separator=SEP
När -A, -B eller -C används, skriv ut SEP istället för -- mellan grupper av rader.
--no-group-separator
När -A, -B eller -C används, skriv inte ut någon separator mellan grupper av rader.
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 utelämnar utdata efter att binär indata som är null upptäcks,
och utelämnar utdatarader som innehåller felaktigt kodade data. När någon utdata utelämnas följer
grep eventuell utdata med ett meddelande till standard fel som säger att en binär fil matchar.
Om TYP är without-match antar grep när den upptäcker binär indata som är null 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 en avslutande del som börjar
med något annat än ett snedstreck omedelbart efter ett snedstreck (/) i namnet. Vid rekursiv
sökning, hoppa över eventuella underfiler vars basnamn matchar GLOB; basnamnet är delen efter det
sista snedstrecket. 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). Om motstridiga flaggor --include och --exclude ges vinner den sista som matchar.
Om ingen flagga --include eller --exclude matchar inkluderas en fil om inte den första sådana
flaggan är --include.
-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 är grundläggande och utökade reguljära uttryck blott olika notationer för
samma mönstermatchningsfunktionalitet. I andra implementationer är grundläggande reguljära uttryck
vanligen mindre kraftfulla än utökade, även om det i vissa fall är tvärtom. 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 har annan funktionalitet, och dokumenteras i pcre2syntax(3) och
pcre2pattern(3), men fungerar bara om stöd för PKRU är aktiverat.
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. Det är inte specificerat huruvida det matchar ett kodningsfel.
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; det är ospecificerat huruvida det matchar ett kodningsfel. 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:], [:blank:], [: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 \).
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.
MILJÖ
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_COLORS
Styr hur flaggan --color markerar 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).
NOTERINGAR
Denna manualsida underhålls endast sporadiskt; den fullständiga dokumentationen är ofta mer aktuell.
COPYRIGHT
Copyright 1998-2000, 2002, 2005-2023 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 felrapporteringsadressen ⟨bug-grep@gnu.org⟩. Ett e-postarkiv
⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ och en felärendehanterare
⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩ finns tillgängliga. Rapportera fel på
översättningen till den svenska översättningslistan ⟨tp-sv@listor.tp-sv.se⟩
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.
EXEMPEL
Följande exempel skriver ut platsen och innehållet för alla rader som innehåller ”f” och slutar i ”.c”, i
alla filer i den aktuella katalogen vars namn innehåller ”g” och slutar på ”.h”. Flaggan -n skriver ut
radnummer, argumentet -- hanterar expansioner av ”*g*.h” som börjar med ”-” som filnamn och inte flaggor,
och den tomma filen /dev/null gör att filnamn skrivs ut även om bara ett filnamn råkar ha formen ”*g*.h”.
$ grep -n -- 'f.*\.c$' *g*.h /dev/null
argmatch.h:1:/* definitions and prototypes for argmatch.c
Den enda raden som matchar är rad 1 i argmatch.h. Observera att det reguljära uttryckets syntax som
används i mönstret skiljer sig från glob-syntaxen som skalet använder för att matcha filnamn.
SE ÄVEN
Reguljära manualsidor
awk(1), cmp(1), diff(1), find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre2(3), pcre2syntax(3),
pcre2pattern(3), terminfo(5), glob(7), regex(7)
Fullständig dokumentation
En fullständig manual ⟨https://www.gnu.org/software/grep/manual/⟩ 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.
Ö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
⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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.11 2019-12-29 GREP(1)