grep, egrep, fgrep, rgrep — skriv ut rader som matchar
mönster
grep [FLAGGA…] MÖNSTER
[FIL…]
grep [flagga…] -e MÖNSTER …
[FIL…]
grep [FLAGGA…] -f MÖNSTERFIL
… [FIL…]
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.
Allmän programinformation
- --help
- Skriv ut ett användningsmeddelande och avsluta.
- -V, --version
- Skriv ut greps versionsnummer och avsluta.
- -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.
- -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.
- -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.
- -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.
- -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.
- --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.
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.
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.
Circumflex ^ och dollartecknet $ är
metatecken som matchar den tomma strängen i början respektive
slutet av en rad.
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:]].
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.
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.
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.
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å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.
I grundläggande reguljära uttryck förlorar
metatecknen ?, +, {, |, ( och )
sina speciella betydelser; använd istället versionen med
omvänt snedstreck \?, \+, \{, \|,
\( och \).
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.
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).
Denna manualsida underhålls endast sporadiskt; den
fullständiga dokumentationen är ofta mer aktuell.
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.
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⟩
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.
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.
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)
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⟩.