Grep
Version från den 21 februari 2024 kl. 11.20 av Admin (diskussion | bidrag)
Exempel på hur man använder Grep
NAME topp
grep - skriv ut linjer som matchar mönster
SYNOPSIS topp
grep [ ALTERNATIV ...] MÖNSTER [ FIL ...]
grep [ ALTERNATIV ...] -e MÖNSTER ... [ FIL ...]
grep [ ALTERNATIV ...] -f PATTERN_FILE ... [ FIL .. .]
BESKRIVNING
grep söker efter MÖNSTER i varje FIL . PATTERNS är ett eller flera
mönster separerade av nyradstecken och grep skriver ut var och en
linje som matchar ett mönster. Vanligtvis bör MÖNSTER citeras
när grep används i ett skalkommando.
En FIL med " - " står för standardinmatning. Om ingen FIL anges,
rekursiva sökningar undersöker arbetskatalogen och
icke-rekursiva sökningar läser standardinmatning.
ALTERNATIV
Generisk programinformation
--hjälp Skriv ut ett användningsmeddelande och avsluta.
-V , --version
Mata ut versionsnumret för grep och avsluta.
Mönstersyntax
-E , --extended-regexp
Tolka PATTERNS som utökade reguljära uttryck (EREs,
se nedan).
-F , --fixed-strings
Tolka MÖNSTER som fasta strängar, inte regelbundna
uttryck.
-G , --basic-regexp
Tolka MÖNSTER som grundläggande reguljära uttryck (BRE, se
Nedan). Detta är standard.
-P , --perl-regexp
Tolka PATTERNS som Perl-kompatibla reguljära uttryck
(PCRE). Det här alternativet är experimentellt när det kombineras med
alternativet -z ( --null-data ) och grep -P kan varna för
oimplementerade funktioner.
Matchande kontroll
-e PATTERNS , --regexp= PATTERNS
Använd PATTERNS som mönstret. Om detta alternativ används
flera gånger eller kombineras med alternativet -f ( --file ),
sök efter alla angivna mönster. Detta alternativ kan användas för att
skydda ett mönster som börjar med "-".
-f FIL , --fil= FIL
Få mönster från FIL , ett per rad. Om detta alternativ
används flera gånger eller kombineras med alternativet -e
( --regexp ), sök efter alla angivna mönster. De
tom fil innehåller noll mönster och matchar därför
ingenting. Om FILE är - , läs mönster från standard
inmatning.
-i , --ignore-case
Ignorera skiftlägesskillnader i mönster och indata, så
att karaktärer som skiljer sig bara i fall matchar varandra.
--no-ignore-case
Ignorera inte skiftlägesskillnader i mönster och input
data. Detta är standard. Det här alternativet är användbart för
skickar till skalskript som redan använder -i , för att avbryta
dess effekter eftersom de två alternativen åsidosätter varandra.
-v , --invert-match
Invertera känslan av matchning för att välja icke-matchning
rader.
-w , --ord-regexp
Välj bara de rader som innehåller matchningar som bildar hela
ord. Testet är att den matchande delsträngen måste
antingen vara i början av raden eller föregås av en
icke-ords ingående karaktär. På samma sätt måste det vara
antingen i slutet av raden eller följt av ett icke-ord
ingående karaktär. Tecken som består av ord är
bokstäver, siffror och understreck. Detta alternativ har nr
effekt om -x också anges.
-x , --line-regexp
Välj bara de matchningar som exakt matchar helheten
linje. För ett reguljärt uttrycksmönster är detta som
placera mönstret inom parentes och sedan omge det med ^
och $ .
General Output Control
-c , --count
Dämpa normal utgång; skriv istället ut ett antal matchningar
rader för varje indatafil. Med -v , --invert-match
alternativ (se ovan), räkna rader som inte matchar.
--färg [ = NÄR ], --färg [ = NÄR ]
Omge de matchade (icke-tomma) strängarna, matchande linjer,
kontextrader, filnamn, radnummer, byteförskjutningar och
separatorer (för fält och grupper av sammanhangslinjer) med
escape-sekvenser för att visa dem i färg på terminalen.
Färgerna definieras av miljövariabeln
GREP_COLORS . NÄR är aldrig , alltid eller automatiskt .
-L , --filer-utan-matchning
Dämpa normal utgång; skriv istället ut namnet på varje
indatafil från vilken ingen utdata normalt skulle ha varit
tryckt.
-l , --filer-med-matchningar
Dämpa normal utgång; skriv istället ut namnet på varje
indatafil från vilken utdata normalt skulle ha varit
tryckt. Skanningen av varje indatafil upphör vid första matchningen.
-m NUM , --max-count= NUM
Sluta läsa en fil efter NUM matchande rader. Om NUM är
noll, grep slutar direkt utan att läsa indata. Ett NUM
på -1 behandlas som oändligt och grep slutar inte; detta
är standard. Om ingången är standardinmatning från en
vanlig fil, och NUM matchande rader matas ut, grep
säkerställer att standardingången är positionerad till just
efter den sista matchande raden innan du lämnar, oavsett
förekomsten av efterföljande kontextlinjer. Detta möjliggör en
anropsprocess för att återuppta en sökning. När grep slutar efter
NUM matchande rader, matar den ut alla efterföljande kontextrader.
När alternativet -c eller --count också används, gör det inte grep
mata ut ett antal större än NUM . När alternativet -v eller
--invert-match också används, slutar grep efter
matar ut NUM icke-matchande rader.
-o , --bara-matchande
Skriv endast ut de matchade (icke-tomma) delarna av en matchning
linje, med varje sådan del på en separat utgångslinje.
-q , --tyst , --tyst
Tyst; skriv inget till standardutdata. Utgång
omedelbart med nollstatus om någon matchning hittas, till och med
om ett fel upptäckts. Se även alternativet -s eller
--no-messages .
-s , --inga-meddelanden
Undertryck felmeddelanden om obefintlig eller oläsbar
filer.
Output Line Prefix Control
-b , --byte-offset
Skriv ut den 0-baserade byteoffseten i indatafilen innan
varje utgångsrad. Om -o ( --only-matching ) är
specificerat, skriv ut offseten för själva matchande delen.
-H , --med-filnamn
Skriv ut filnamnet för varje matchning. Detta är standard
när det finns mer än en fil att söka efter. Detta är en GNU
förlängning.
-h , --no-filnamn
Undertryck prefixet av filnamn vid utdata. Detta är
standard när det bara finns en fil (eller bara standard
input) för att söka.
--label= LABEL
Displayingång kommer faktiskt från standardingång som ingång
kommer från filen LABEL . Detta kan vara användbart för kommandon
som omvandlar en fils innehåll före sökning, t.ex.
gzip -cd foo.gz | grep --label=foo -H 'något mönster' . Ser
även alternativet -H .
-n , --radnummer
Prefix varje utdatarad med det 1-baserade radnumret
i sin indatafil.
-T , --initial-tab
Se till att det första tecknet i det faktiska radens innehåll
ligger på ett tabbstopp, så att inriktningen av tabbarna ser ut
vanligt. Detta är användbart med alternativ som prefix deras
utdata till det faktiska innehållet: -H , -n , och -b . För att
förbättra sannolikheten för att rader från en enda fil kommer att göra det
alla börjar i samma kolumn, detta orsakar också linjen
nummer och byte offset (om sådan finns) som ska skrivas ut i en
minsta storlek fältbredd.
-Z , --null
Mata ut en nollbyte (ASCII NUL -tecknet) istället för
tecknet som normalt följer ett filnamn. För
Exempelvis matar grep -lZ en noll byte efter varje filnamn
istället för den vanliga nyraden. Detta alternativ gör att
utdata entydig, även i närvaro av filnamn
innehåller ovanliga karaktärer som nyrader. Detta alternativ
kan användas med kommandon som find -print0 , perl -0 , sort
-z och xargs -0 för att bearbeta godtyckliga filnamn, till och med
de som innehåller nyradstecken.
Kontextlinjekontroll
-A NUM , --after-context= NUM
Skriv ut NUM rader av efterföljande kontext efter matchande rader.
Placerar en rad som innehåller en gruppavgränsare ( -- ) mellan
sammanhängande grupper av matcher. Med alternativet -o eller
--only-matching har detta ingen effekt och en varning
är given.
-B NUM , --before-context= NUM
Skriv ut NUM rader av inledande sammanhang innan matchande rader.
Placerar en rad som innehåller en gruppavgränsare ( -- ) mellan
sammanhängande grupper av matcher. Med alternativet -o eller
--only-matching har detta ingen effekt och en varning
är given.
-C NUM , - NUM , --context= NUM
Skriv ut NUM rader av utdatakontext. Placerar en linje
som innehåller en gruppseparator ( -- ) mellan angränsande
grupper av matcher. Med alternativet -o eller --only-matching ,
detta har 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 linjer.
--no-group-separator
När -A , -B eller -C används, skriv inte ut en separator
mellan grupper av linjer.
Val av fil och katalog
-a , --text
Bearbeta en binär fil som om det vore text; detta är
motsvarar alternativet --binary-files=text .
--binära-filer= TYP
Om en fils data eller metadata indikerar att filen
innehåller binär data, anta att filen är av typen
TYP . Icke-textbytes indikerar binära data; dessa är
antingen utdatabytes som är felaktigt kodade för
aktuell lokal eller noll-indatabyte när alternativet -z är
inte givit.
Som standard är TYPE binär och grep undertrycker utdata
efter att noll-ingången upptäcks binär data och undertrycks
utdatarader som innehåller felaktigt kodade data. När
viss utdata är undertryckt, grep följer alla utdata med a
meddelande till standardfel som säger att en binär fil
tändstickor.
Om TYPE är utan-matchning , när grep upptäcker noll-ingång
binära data antar det att resten av filen inte gör det
match; detta motsvarar alternativet -I .
Om TYPE är text bearbetar grep en binär fil som om den vore den
var text; detta motsvarar alternativet -a .
När typen är binär kan grep behandla icke-textbytes som rad
terminatorer även utan alternativet -z . Detta betyder
att välja binär kontra text kan påverka om ett mönster
matchar en fil. Till exempel , när typen är binär
mönster q$ kan matcha q omedelbart följt av en noll
byte, även om detta inte matchas när typen är text .
Omvänt, när typen är binär mönstret . (period)
kanske inte matchar en nollbyte.
Varning: Alternativet -a kan mata ut binärt skräp, vilket
kan ha otäcka biverkningar om utgången är en terminal
och om terminaldrivrutinen tolkar en del av det som
kommandon. Å andra sidan, när man läser filer vars
textkodningar är okända, det kan vara bra att använda -a eller
för att ställa in LC_ALL='C' i miljön, för att hitta
fler matcher även om matcherna är osäkra för direkt
visa.
-D ACTION , --devices= ACTION
Om en indatafil är en enhet, FIFO eller socket, använd ACTION
för att bearbeta den. Som standard läses ACTION , vilket betyder
att enheter läses precis som om de vore vanliga filer.
Om ACTION är hoppa över , hoppas enheterna över tyst.
-d ACTION , --directorys= ACTION
Om en indatafil är en katalog, använd ACTION för att bearbeta den.
Som standard är ACTION läs , dvs läs kataloger precis som
om de var vanliga filer. Om ACTION är hoppa över , tyst
hoppa över kataloger. Om ACTION är recurse , läs alla filer
under varje katalog, rekursivt, efter symboliskt
länkar endast om de finns på kommandoraden. Detta är
motsvarar alternativet -r .
--exclude= GLOB
Hoppa över alla kommandoradsfiler med ett namnsuffix som matchar
mönstret GLOB , med hjälp av jokerteckenmatchning; ett namnsuffix
är antingen hela namnet eller en avslutande del som börjar
med ett snedstreck omedelbart efter ett snedstreck ( / )
i namnet. Hoppa över valfri underfil när du söker rekursivt
vars basnamn matchar GLOB ; basnamnet är delen
efter sista snedstrecket. Ett mönster kan använda * , ? , och [ ... ]
som jokertecken, och \ för att citera ett jokertecken eller omvänt snedstreck
karaktär bokstavligen.
--exclude-from= FIL
Hoppa över filer vars basnamn matchar något av filnamnen
globs som läses från FILE (med hjälp av jokerteckenmatchning enligt beskrivningen
under --exclude ).
--exclude-dir= GLOB
Hoppa över en kommandoradskatalog med ett namnsuffix som
matchar mönstret GLOB . När du söker rekursivt,
hoppa över alla underkataloger vars basnamn matchar GLOB .
Ignorera eventuella överflödiga snedstreck i GLOB .
-Jag bearbetar en binär fil som om den inte innehåller matchning
data; detta motsvarar
--binary-files=utan-matchningsalternativ .
--include= GLOB
Sök endast efter filer vars basnamn matchar GLOB (med
jokerteckenmatchning som beskrivs under --exclude ). Om
motsägelsefulla --inkludera och --exkludera alternativ ges,
den sista matchande vinner. Om nej --inkludera eller --exkludera
alternativ matchar, en fil ingår om inte den första sådana
alternativet är --inkludera .
-r , --rekursiv
Läs alla filer under varje katalog, rekursivt,
följer endast symboliska länkar om de är på kommandot
linje. Observera att om ingen filoperand ges, grep
söker i arbetskatalogen. Detta motsvarar
-d rekursalternativ.
-R , --dereferens-rekursiv
Läs alla filer under varje katalog, rekursivt. Följ
alla symboliska länkar, till skillnad från -r .
Andra alternativ
--line-buffrad
Använd linjebuffring vid utdata. Detta kan orsaka a
prestationsstraff.
-U , --binär
Behandla filen/filerna som binära. Som standard, under MS-DOS och
MS-Windows, grep gissar om en fil är text eller binär
som beskrivs för alternativet --binary-files . Om grep
bestämmer att filen är en textfil, tar den bort CR
tecken från originalfilens innehåll (att göra
reguljära uttryck med ^ och $ fungerar korrekt).
Att specificera -U åsidosätter denna gissning, vilket orsakar alla filer
att läsas och överföras till matchningsmekanismen ordagrant;
om filen är en textfil med CR/LF-par i slutet av
varje rad kommer detta att orsaka vissa reguljära uttryck
misslyckas. Det här alternativet har ingen effekt på andra plattformar än
MS-DOS och MS-Windows.
-z , --null-data
Behandla in- och utdata som sekvenser av rader, var och en
avslutas med en noll byte (ASCII NUL-tecknet)
istället för en nyrad. Som alternativet -Z eller --null , detta
alternativet kan användas med kommandon som sort -z för att bearbeta
godtyckliga filnamn.
Regular Expressions
Ett reguljärt uttryck är ett mönster som beskriver en uppsättning av
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 reguljärt uttryck
syntax: "basic" (BRE), "extended" (ERE) och "perl" (PCRE). I
GNU grep , grundläggande och utökade reguljära uttryck är bara
olika notationer för samma mönstermatchande funktionalitet.
I andra implementeringar är grundläggande reguljära uttryck
vanligtvis mindre kraftfull än förlängd, även om den ibland är det
tvärtom. Följande beskrivning gäller
utökade reguljära uttryck; skillnader för grundläggande regelbunden
uttryck sammanfattas efteråt. Perl-kompatibel vanlig
uttryck har olika funktionalitet och är dokumenterade i
pcre2syntax(3) och pcre2pattern(3) , men fungerar bara om PCRE stöder
är aktiverat.
De grundläggande byggstenarna är de reguljära uttrycken som
matcha ett enda tecken. De flesta tecken, inklusive alla bokstäver
och siffror, är reguljära uttryck som matchar sig själva. Några
meta-tecken med speciell betydelse kan citeras genom att föregå den
med ett snedstreck.
Perioden . matchar vilket enskilt tecken som helst. Det är ospecificerat
om det matchar ett kodningsfel.
Teckenklasser och parentesuttryck
Ett parentesuttryck är en lista över tecken som omges av [ och ] .
Det matchar alla enstaka tecken i den listan. Om den första
karaktären i listan är raden ^ då matchar den någon
tecken som inte finns i listan; det är ospecificerat om det matchar
ett kodningsfel. Till exempel det reguljära uttrycket
[0123456789] matchar vilken enskild siffra som helst.
Inom ett parentesuttryck består ett intervalluttryck av två
tecken separerade med bindestreck. Det matchar vilken singel som helst
tecken som sorterar mellan de två tecknen, inklusive, med hjälp av
lokalens sorteringssekvens och teckenuppsättning. Till exempel,
i standardläget C motsvarar [ad] [abcd] . Många
lokaler sorterar tecken i ordboksordning, och i dessa språk
[ad] är vanligtvis inte likvärdig med [abcd] ; det kan vara
motsvarande [aBbCcDd] , till exempel. För att få det traditionella
tolkning av parentesuttryck kan du använda C-lokalen
genom att sätta miljövariabeln LC_ALL till värdet C .
Slutligen är vissa namngivna teckenklasser fördefinierade
inom parentes uttryck, enligt följande. Deras namn är själv
förklarande, och de är [:alnum:] , [:alfa:] , [:blank:] ,
[:cntrl:] , [:siffra:] , [:graf:] , [:nedre:] , [:print :] , [:punct:] ,
[:mellanslag:] , [:upper:] och [:xdigit:] . Till exempel [[:alnum:]]
betyder teckenklassen av siffror och bokstäver i den aktuella
plats. I C locale och ASCII teckenuppsättning kodning, detta
är samma som [0-9A-Za-z] . (Observera att parenteserna i dessa
klassnamn är en del av de symboliska namnen och måste inkluderas
utöver parenteserna som avgränsar parentesuttrycket.)
De flesta meta-tecken förlorar sin speciella betydelse inom parentes
uttryck. För att inkludera en bokstavlig ] placera den först i listan.
På samma sätt, för att inkludera en bokstavlig ^ placera den var som helst utom först.
Slutligen, för att inkludera en bokstavlig - placera den sist.
Förankring
The caret ^ och dollartecknet $ är meta-tecken som
matcha den tomma strängen i början och slutet av en
linje.
Omvänt snedstreck och specialuttryck
Symbolerna \< och \> matchar den tomma strängen vid
början och slutet av ett ord. Symbolen \b matchar den tomma
sträng i kanten av ett ord, och \B matchar den tomma strängen
förutsatt att det inte är på kanten av ett ord. Symbolen \w är a
synonym för [_[:alnum:]] och \W är en synonym för [^_[:alnum:]] .
Upprepning
Ett reguljärt uttryck kan följas av en av flera upprepningar
operatörer:
? Det föregående objektet är valfritt och matchas högst en gång.
* Föregående post kommer att matchas noll eller fler gånger.
+ Föregående objekt kommer att matchas en eller flera gånger.
{ n } Det föregående objektet matchas exakt n gånger.
{ n ,} Det föregående objektet matchas n eller flera gånger.
{, m } Föregående post matchas högst m gånger. Det här är en
GNU förlängning.
{ n , m } Det föregående objektet matchas minst n gånger, men inte
mer än m gånger.
Sammankoppling
Två reguljära uttryck kan vara sammanlänkade; det resulterande
reguljära uttryck matchar alla strängar som bildas genom att sammanfoga två
delsträngar som matchar de sammanlänkade uttrycken.
Alternering
Två reguljära uttryck kan förenas med infixoperatorn | ;
det resulterande reguljära uttrycket matchar vilken sträng som helst
antingen alternativt uttryck.
Företräde
Upprepning har företräde framför sammanlänkning, som i sin tur
har företräde framför alternering. Ett helt uttryck kan vara
inom parentes för att åsidosätta dessa prioritetsregler och
bilda ett underuttryck.
Bakåtreferenser och underuttryck
Bakåtreferensen \ n , där n är en enkelsiffra, matchar
delsträng som tidigare matchats av den n: te parentesen
underuttryck av det reguljära uttrycket.
Grundläggande vs utökade reguljära uttryck
I grundläggande reguljära uttryck är meta-tecken ? , + , { , | , ( ,
och ) förlorar sin speciella betydelse; använd istället det omvända snedstrecket
versioner \? , \+ , \{ , \| , \( , och \) .
EXIT STATUS
Normalt är utgångsstatusen 0 om en linje väljs, 1 om nej
rader valdes och 2 om ett fel inträffade. Men om
-q eller --quiet eller --silent används och en linje väljs, den
utgångsstatus är 0 även om ett fel uppstod.
MILJÖ
Beteendet för grep påverkas av följande miljö
variabler.
Lokalen för kategorin LC_ foo specificeras genom att undersöka
tre miljövariabler LC_ALL , LC_ foo , LANG , i den ordningen.
Den första av dessa variabler som ställs in anger lokalen.
Till exempel, om LC_ALL inte är inställt, men LC_MESSAGES är satt till
pt_BR , används den brasilianska portugisiska språkversionen för
kategorin LC_MESSAGES . C-lokalen används om ingen av dessa
miljövariabler ställs in, om lokalkatalogen inte är det
installerat, eller om grep inte kompilerades med det nationella språket
stöd (NLS). Skalkommandot locale -a listar lokaler som
finns för närvarande tillgängliga.
GREP_COLORS
Styr hur alternativet --color markerar utdata. Dess
värde är en kolonseparerad lista över funktioner som
standard till
ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 med
rv och ne booleska funktioner utelämnade (dvs. falskt).
De funktioner som stöds är följande.
sl= SGR-delsträng för hela valda linjer (dvs.
matchande rader när kommandoradsalternativet -v är
utelämnade eller icke-matchande rader när -v är
specificerad). Om dock den booleska rv- kapaciteten
och kommandoradsalternativet -v är båda specificerade,
det gäller istället för kontextmatchande linjer. De
default är tom (dvs terminalens standard
färgpar).
cx= SGR-delsträng för hela kontextlinjer (dvs icke-
matchande rader när kommandoradsalternativet -v är
utelämnade eller matchande rader när -v är specificerad).
Om däremot den booleska rv- förmågan och -v
kommandoradsalternativ är båda specificerade, det gäller
till valda icke-matchande rader istället. De
default är tom (dvs terminalens standard
färgpar).
rv booleskt värde som vänder (byter) betydelsen av
funktionerna sl= och cx= när kommandot -v-
linjealternativet anges. Standardinställningen är falsk
(dvs. förmågan utelämnas).
mt=01;31
SGR-delsträng för att matcha icke-tom text i någon
matchande linje (dvs en vald linje när -v
kommandoradsalternativet utelämnas, eller en kontextrad
när -v är specificerad). Att ställa in detta är likvärdigt
att ställa in både ms= och mc= samtidigt till samma
värde. Standard är en fet röd textförgrund
över den aktuella linjens bakgrund.
ms=01;31
SGR-delsträng för att matcha icke-tom text i en
vald rad. (Detta används endast när -v
kommandoradsalternativet utelämnas.) Effekten av
sl= (eller cx= om rv ) förblir aktiv när
detta sätter igång. Standard är en fet röd text
förgrunden över den aktuella linjens bakgrund.
mc=01;31
SGR-delsträng för att matcha icke-tom text i en
kontextrad. (Detta används endast när -v
kommandoradsalternativet anges.) Effekten av
förmågan cx = (eller sl= om rv ) förblir aktiv
när detta startar. Standard är en fet röd text
förgrunden över den aktuella linjens bakgrund.
fn=35 SGR-delsträng för filnamn med prefix för något innehåll
linje. Standard är en magentafärgad textförgrund
över terminalens standardbakgrund.
ln=32 SGR-delsträng för radnummer som föregår någon
innehållsraden. Standard är en grön text
förgrunden över terminalens standardbakgrund.
bn=32 SGR-delsträng för byteförskjutningar som prefixar någon
innehållsraden. Standard är en grön text
förgrunden över terminalens standardbakgrund.
se=36 SGR-delsträng för separatorer som infogas
mellan valda radfält ( : ), mellan sammanhang
linjefält, ( - ), och mellan grupper av angränsande
rader när kontext som inte är noll anges ( -- ). De
standard är en cyan textförgrund över
terminalens standardbakgrund.
ne booleskt värde som förhindrar rensning till slutet av
rad med radera rad (EL) till höger ( \33[K ) vardera
gång ett färgat föremål slutar. Detta behövs på
terminaler där EL inte stöds. Det är
annars användbar på terminaler för vilka
back_color_erase ( fvt ) boolesk terminfo-förmåga
gäller inte när de valda markeringsfärgerna gör det
inte påverkar bakgrunden, eller när EL är för långsam
eller orsakar för mycket flimmer. Standardinställningen är falsk
(dvs. förmågan utelämnas).
Observera att booleska kapaciteter har ingen = ... del. De
utelämnas (dvs. falskt) som standard och blir sanna när
specificerad.
Se avsnittet Select Graphic Rendition (SGR) i
dokumentation av textterminalen som används för
tillåtna värden och deras betydelse som karaktär
attribut. Dessa delsträngvärden är heltal i
decimalrepresentation och kan sättas samman med
semikolon. grep tar hand om att sätta ihop resultatet till
en fullständig SGR-sekvens ( \33[ ... m ). Gemensamma värderingar till
sammanfoga inkluderar 1 för fetstil, 4 för understrykning, 5 för
blinka, 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ärgsläge
förgrundsfärger, 38;5;0 till 38;5;255 för 88-färger och
256-färgsläges förgrundsfärger, 49 som standard
bakgrundsfärg, 40 till 47 för bakgrundsfärger, 100 till
107 för 16-färgsläges bakgrundsfärger och 48;5;0 till
48;5;255 för 88-färgslägen och 256-färgslägen bakgrund
färger.
LC_ALL , LC_COLLATE , LANG
Dessa variabler anger språket för LC_COLLATE
kategori, som bestämmer sorteringssekvensen som används för
tolka intervalluttryck som [az] .
LC_ALL , LC_CTYPE , LANG
Dessa variabler anger lokalen för LC_CTYPE
kategori, som bestämmer typen av tecken, t.ex.
vilka tecken är blanksteg. Även denna kategori
bestämmer teckenkodningen, det vill säga om text
är kodad i UTF-8, ASCII eller någon annan kodning. I
C- eller POSIX-språket är alla tecken kodade som en
en byte och varje byte är ett giltigt tecken.
LC_ALL , LC_MESSAGES , LANG
Dessa variabler anger språket för kategorin LC_MESSAGES
, som bestämmer språket som grep använder för
meddelanden. Standardinställningen för C använder amerikansk engelska
meddelanden.
POSIXLY_CORRECT
Om inställt, fungerar grep som POSIX kräver; annars, grep
beter sig mer som andra GNU-program. POSIX kräver det
alternativ som följer filnamn måste behandlas som fil
namn; som standard är sådana alternativ permuterade till framsidan
i operandlistan och behandlas som alternativ. Också,
POSIX kräver att okända alternativ diagnostiseras som
”olagliga”, men eftersom de egentligen inte strider mot lagen
standarden är att diagnostisera dem som "ogiltiga".
NOTERA
Denna man-sida underhålls endast på rätt sätt; hela dokumentationen
är ofta mer aktuell.
COPYRIGHT
Copyright 1998-2000, 2002, 2005-2023 Free Software Foundation,
Inc.
Detta är fri programvara; se källan för kopieringsvillkor.
Det finns INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR
ETT SÄRSKILT SYFTE.
BUGS
Rapportera buggar
E-posta felrapporter till felrapporteringsadressen ⟨bug-
grep@gnu.org⟩. Ett e-postarkiv
⟨ https://lists.gnu.org/mailman/listinfo/bug-grep ⟩ och en bugg
tracker ⟨ https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep ⟩
finns tillgängliga.
Kända fel
Stora upprepningar i { n , m } -konstruktionen kan göra att grep
använda mycket minne. Dessutom vissa andra obskyra regelbundna
uttryck kräver exponentiell tid och rum, och kan orsaka
grep för att få slut på minne.
Bakåtreferenser är mycket långsamma och kan kräva exponentiell tid.
EXEMPEL
Följande exempel visar platsen och innehållet för eventuella
rad som innehåller "f" och slutar på ".c", inom alla filer i
aktuell katalog vars namn innehåller "g" och slutar på ".h". De
Alternativet -n matar ut radnummer, argumentet -- behandlar expansioner
av "*g*.h" som börjar med "-" som filnamn inte alternativ, och
tom fil /dev/null gör att filnamn matas ut även om bara
ett filnamn råkar ha formen "*g*.h".
$ grep -n -- 'f.*\.c$' *g*.h /dev/null
argmatch.h:1:/* definitioner och prototyper för argmatch.c
Den enda raden som matchar är rad 1 i argmatch.h. Anteckna det
Syntaxen för reguljära uttryck som används i mönstret skiljer sig från
den globbing-syntax som skalet använder för att matcha filnamn.
SE ÄVEN
Regular Manual Pages
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 komplett manual ⟨ https://www.gnu.org/software/grep/manual/ ⟩ är
tillgängliga. Om info- och grep -programmen är korrekt installerade
på din webbplats, kommandot
info grep
bör ge dig tillgång till hela manualen.
KOLOFON
Den här sidan är en del av GNU grep (filsökning med reguljära uttryck
verktyg) projekt. Information om projektet finns på
⟨ https://www.gnu.org/software/grep/ ⟩. Om du har en felrapport
för denna manualsida, skicka den till bug-grep@gnu.org. Den här sidan var
hämtat från projektets uppströms Git-förråd
⟨git://git.savannah.gnu.org/grep.git⟩ den 2023-12-22. (Vid den
tid, datumet för den senaste commit som hittades i
repository var 2023-09-14.) Om du upptäcker någon rendering
problem i den här HTML-versionen av sidan, eller så tror du det
är en bättre eller mer uppdaterad källa för sidan, eller så har du
korrigeringar eller förbättringar av informationen i denna KOLOFON
(som inte är en del av den ursprungliga manualsidan), skicka ett mail till
man-pages@man7.org
GNU grep 3.11.21-102b-dirty 2019-12-29 GREP (1)