Grep: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
[[Exempel på hur man använder Grep]] | |||
== NAME topp == | == NAME topp == |
Versionen från 21 februari 2024 kl. 11.14
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)