.\" -*- coding: UTF-8 -*- .de dT .ds Dt \\$2 .. .\" GNU grep man page .dT Time-stamp: 2019-12-29 .\" Update the above date whenever a change to either this file or .\" grep.c's 'usage' function results in a nontrivial change to the man page. .\" In Emacs, you can update the date by running 'M-x time-stamp' .\" after you make a change that you decide is nontrivial. .\" It is no big deal to forget to update the date. . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH GREP 1 \*(Dt "GNU grep 3.11" Användarkommandon . .if !\w|\*(lq| \{\ .\" groff an-old.tmac does not seem to be in use, so define lq and rq. . ie \n(.g \{\ . ds lq \(lq\" . ds rq \(rq\" . \} . el \{\ . ds lq `` . ds rq '' . \} .\} . .if !\w|\*(la| \{\ .\" groff an-ext.tmac does not seem to be in use, so define the parts of .\" it that are used below. For a copy of groff an-ext.tmac, please see: .\" https://git.savannah.gnu.org/cgit/groff.git/plain/tmac/an-ext.tmac .\" --- Start of lines taken from groff an-ext.tmac . .\" Check whether we are using grohtml. .nr mH 0 .if \n(.g \ . if '\*(.T'html' \ . nr mH 1 . . .\" Map mono-width fonts to standard fonts for groff's TTY device. .if n \{\ . do ftr CR R . do ftr CI I . do ftr CB B .\} . .\" groff has glyph entities for angle brackets. .ie \n(.g \{\ . ds la \(la\" . ds ra \(ra\" .\} .el \{\ . ds la <\" . ds ra >\" . \" groff's man macros control hyphenation with this register. . nr HY 1 .\} . .\" Start URL. .de UR . ds m1 \\$1\" . nh . if \\n(mH \{\ . \" Start diversion in a new environment. . do ev URL-div . do di URL-div . \} .. . . .\" End URL. .de UE . ie \\n(mH \{\ . br . di . ev . . \" Has there been one or more input lines for the link text? . ie \\n(dn \{\ . do HTML-NS "" . \" Yes, strip off final newline of diversion and emit it. . do chop URL-div . do URL-div . do HTML-NS . \} . el \ . do HTML-NS "\\*(m1" \&\\$*\" . \} . el \ \\*(la\\*(m1\\*(ra\\$*\" . . hy \\n(HY .. . . .\" Start email address. .de MT . ds m1 \\$1\" . nh . if \\n(mH \{\ . \" Start diversion in a new environment. . do ev URL-div . do di URL-div . \} .. . . .\" End email address. .de ME . ie \\n(mH \{\ . br . di . ev . . \" Has there been one or more input lines for the link text? . ie \\n(dn \{\ . do HTML-NS "" . \" Yes, strip off final newline of diversion and emit it. . do chop URL-div . do URL-div . do HTML-NS . \} . el \ . do HTML-NS "\\*(m1" \&\\$*\" . \} . el \ \\*(la\\*(m1\\*(ra\\$*\" . . hy \\n(HY .. .\" --- End of lines taken from groff an-ext.tmac .\} . .hy 0 . .SH NAMN grep, egrep, fgrep, rgrep — skriv ut rader som matchar mönster . .SH SYNOPSIS \fBgrep\fP [\fIFLAGGA\fP…]\& \fIMÖNSTER\fP [\fIFIL\fP…] .br \fBgrep\fP [\fIflagga\fP…]\& \fB\-e\fP \fIMÖNSTER\fP \&…\& [\fIFIL\fP…] .br \fBgrep\fP [\fIFLAGGA\fP…]\& \fB\-f\fP \fIMÖNSTERFIL\fP \&…\& [\fIFIL\fP…] . .SH BESKRIVNING \fBgrep\fP söker efter \fIMÖNSTER\fP i varje \fIFIL\fP. \fIMÖNSTER\fP är en eller flera mönster separerade av nyradstecken, och \fBgrep\fP skriver ut varje rad som matchar ett mönster. Typiskt skall \fIMÖNSTER\fP omges av citationstecken när \fBgrep\fP används i ett skalkommando. .PP En \fIFIL\fP som är \*(rq\fB\-\fP\*(rq står för standard in. Om ingen \fIFIL\fP anges undersöker rekursiva sökningar arbetskatalogen och icke\-rekursiva sökningar läser från standard in. .PP Debian inkluderar även variantprogrammen \fBegrep\fP, \fBfgrep\fP och \fBrgrep\fP. Dessa program är desamma som \fBgrep\ \-E\fP, \fBgrep\ \-F\fP respektive \fBgrep\ \-r\fP. 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 \fBgrep\fP med den relaterade flaggan istället. . .SH FLAGGOR .SS "Allmän programinformation" .TP \fB\-\^\-help\fP Skriv ut ett användningsmeddelande och avsluta. .TP \fB\-V\fP, \fB\-\^\-version\fP Skriv ut \fBgrep\fPs versionsnummer och avsluta. .SS Mönstersyntax .TP \fB\-E\fP, \fB\-\^\-extended\-regexp\fP Tolka \fIMÖNSTER\fP som utökade reguljära uttryck, (URU:er, se nedan). .TP \fB\-F\fP, \fB\-\^\-fixed\-strings\fP Tolka \fIMÖNSTER\fP som fasta strängar, inte reguljära uttryck. .TP \fB\-G\fP, \fB\-\^\-basic\-regexp\fP Tolka \fIMÖNSTER\fP som grundläggande reguljära uttryck (GRU:er, se nedan). Detta är standardläget. .TP \fB\-P\fP, \fB\-\^\-perl\-regexp\fP Tolka \fIMÖNSTER\fP som Perl\-kompatibla reguljära uttryck (PKRU:er). Denna flagga är experimentell när den kombineras med flaggan \fB\-z\fP (\fB\-\^\-null\-data\fP), och \fBgrep \-P\fP kan varna för oimplementerade funktioner. .SS Matchningsstyrning .TP \fB\-e\fP\fI MÖNSTER\fP,\fB \-\^\-regexp=\fP\fIMÖNSTER\fP Använd \fIMÖNSTER\fP som mönster. Om denna flagga används flera gånger eller kombineras med flaggan \fB\-f\fP (\fB\-\^\-file\fP), sök efter alla givna mönster. Denna flagga kan användas för att skydda ett mönster som börjar med \&\*(rq\-\*(rq. .TP \fB\-f\fP\fI FIL\fP,\fB \-\^\-file=\fP\fIFIL\fP Hämta mönster från \fIFIL\fP, ett per rad. Om denna flagga används flera gånger eller kombineras med flaggan \fB\-e\fP (\fB\-\^\-regexp\fP), sök efter alla givna mönster. En tom fil innehåller noll mönster, och matchar därför ingenting. Om \fIFIL\fP är \fB\-\fP, läs mönster från standard in. .TP \fB\-i\fP, \fB\-\^\-ignore\-case\fP Ignorera skiftlägesdistinktioner i mönster och indata, så att bokstäver som skiljer endast i skiftläge matchar varandra. .TP \fB\-\^\-no\-ignore\-case\fP 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 \fB\-i\fP, för att annullera dess effekt eftersom de två flaggorna åsidosätter varandra. .TP \fB\-v\fP, \fB\-\^\-invert\-match\fP Invertera betydelsen hos matchningen, för att välja rader som inte matchar. .TP \fB\-w\fP, \fB\-\^\-word\-regexp\fP 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 \fB\-x\fP anges. .TP \fB\-x\fP, \fB\-\^\-line\-regexp\fP 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 \fB^\fP och \fB$\fP. .SS "Allmän utmatningsstyrning" .TP \fB\-c\fP, \fB\-\^\-count\fP Utelämna normal utdata; skriv istället antalet matchade rader för varje indatafil. Med flaggan \fB\-v\fP, \fB\-\^\-invert\-match\fP (se ovan), räkna rader som inte matchar. .TP \fB\-\^\-color\fP[\fB=\fP\fINÄR\fP], \fB\-\^\-colour\fP[\fB=\fP\fINÄR\fP] 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 \fBGREP_COLORS\fP. \fINÄR\fP är \fBnever\fP, \fBalways\fP eller \fBauto\fP. .TP \fB\-L\fP, \fB\-\^\-files\-without\-match\fP Utelämna normal utdata; skriv istället namnen på varje indatafil från vilken ingen utdata normalt skulle ha skrivits. .TP \fB\-l\fP, \fB\-\^\-files\-with\-matches\fP 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. .TP \fB\-m\fP\fI ANT\fP,\fB \-\^\-max\-count=\fP\fIANT\fP Sluta läsa en fil efter \fIANT\fP matchande rader. Om \fIANT\fP är noll slutar \fBgrep\fP omedelbart utan att läsa indata. Ett \fIANT\fP på \-1 behandlas som oändligheten och \fBgrep\fP slutar inte; detta är standardläget. Om indata är standard in från en normal fil, och \fIANT\fP matchande rader skrivits, säkerställer \fBgrep\fP 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 \fBgrep\fP stannar efter \fINUM\fP matchande rader skriver den ut eventuella efterföljande sammanhangsrader. När flaggan \fB\-c\fP eller \fB\-\^\-count\fP också används skriver \fBgrep\fP inte ut ett antal större än \fIANT\fP. När flaggan \fB\-v\fP eller \fB\-\^\-invert\-match\fP också används stannar \fBgrep\fP efter att ha skrivit ut \fIANT\fP rader som inte matchar. .TP \fB\-o\fP, \fB\-\^\-only\-matching\fP Skriv bara ut de matchande (icke\-tomma) delarna av en matchande rad, med varje sådan del på en separat utskriftsrad. .TP \fB\-q\fP, \fB\-\^\-quiet\fP, \fB\-\^\-silent\fP 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 \fB\-s\fP eller \fB\-\^\-no\-messages\fP. .TP \fB\-s\fP, \fB\-\^\-no\-messages\fP Utelämna felmeddelanden om filer som inte finns eller är oläsbara. .SS "Styrning av prefix på utmatningsrader" .TP \fB\-b\fP, \fB\-\^\-byte\-offset\fP Skriv ut det 0\-baserade byteavståndet inom indatafilen före varje rad med utdata. Om \fB\-o\fP (\fB\-\^\-only\-matching\fP) anges, skriv då avståndet till den matchande delen själv. .TP \fB\-H\fP, \fB\-\^\-with\-filename\fP 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. .TP \fB\-h\fP, \fB\-\^\-no\-filename\fP Utelämna prefixen med filnamn i utdata. Detta är standard när det endast finns en fil (eller standard in) att söka i. .TP \fB\-\^\-label=\fP\fIETIKETT\fP Visa indata som faktiskt kommer från standard in som om den kom från filen \fIETIKETT\fP. Detta kan vara användbart för kommandon som transformerar en fils innehåll före sökningen, t.ex., \fBgzip \-cd apa.gz | grep \-\^\-label=apa \-H 'något mönster'\fP. Se även flaggan \fB\-H\fP. .TP \fB\-n\fP, \fB\-\^\-line\-number\fP Prefixa varje utdatarad med det 1\-baserade radnumret inom sin indatafil. .TP \fB\-T\fP, \fB\-\^\-initial\-tab\fP 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: \fB\-H\fP, \fB\-n\fP och \fB\-b\fP. 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. .TP \fB\-Z\fP, \fB\-\^\-null\fP Skriv ut en nollbyte (ASCII\-tecknet \fBNUL\fP) istället för tecknet som normalt följer efter ett filnamn. Till exempel skriver \fBgrep \-lZ\fP 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 \fBfind \-print0\fP, \fBperl \-0\fP, \fBsort \-z\fP och \fBxargs \-0\fP för att bearbeta godtyckliga filnamn, även sådana som innehåller nyradstecken. .SS "Styrning av sammanhangsrader" .TP \fB\-A\fP\fI ANT\fP,\fB \-\^\-after\-context=\fP\fIANT\fP Skriv \fIANT\fP efterföljande sammanhangsrader efter matchande rader. Skriver en rad som innehåller en gruppseparator (\fB\-\^\-\fP) mellan intilliggande grupper med matchningar. Med flaggan \fB\-o\fP eller \fB\-\^\-only\-matching\fP har detta ingen effekt och en varning ges. .TP \fB\-B\fP\fI ANT\fP,\fB \-\^\-before\-context=\fP\fIANT\fP Skriv \fIANT\fP inledande sammanhangsrader före matchande rader. Skriver en rad som innehåller en gruppseparator (\fB\-\^\-\fP) mellan intilliggande grupper med matchningar. Med flaggan \fB\-o\fP eller \fB\-\^\-only\-matching\fP har detta ingen effekt och en varning ges. .TP \fB\-C\fP\fI ANT\fP,\fB \-\fP\fIANT\fP,\fB \-\^\-context=\fP\fIANT\fP Skriv \fIANT\fP sammanhangsrader i utdata. Skriver en rad som innehåller en gruppseparator (\fB\-\^\-\fP) mellan intilliggande grupper med matchningar. Med flaggan \fB\-o\fP eller \fB\-\^\-only\-matching\fP har detta ingen effekt och en varning ges. .TP \fB\-\^\-group\-separator=\fP\fISEP\fP När \fB\-A\fP, \fB\-B\fP eller \fB\-C\fP används, skriv ut \fISEP\fP istället för \fB\-\^\-\fP mellan grupper av rader. .TP \fB\-\^\-no\-group\-separator\fP När \fB\-A\fP, \fB\-B\fP eller \fB\-C\fP används, skriv inte ut någon separator mellan grupper av rader. .SS "Fil\- och katalogval" .TP \fB\-a\fP, \fB\-\^\-text\fP Bearbeta en binärfil som om den vore text; detta är ekvivalent med flaggan \fB\-\^\-binary\-files=text\fP. .TP \fB\-\^\-binary\-files=\fP\fITYP\fP Om en fils data eller metadata indikerar att filen innehåller binärdata, anta att filen har typen \fITYP\fP. 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 \fB\-z\fP inte ges. .IP Som standard är \fITYP\fP \fBbinary\fP, och \fBgrep\fP 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 \fBgrep\fP eventuell utdata med ett meddelande till standard fel som säger att en binär fil matchar. .IP Om \fITYP\fP är \fBwithout\-match\fP antar \fBgrep\fP när den upptäcker binär indata som är null att resten av filen inte matchar; detta är ekvivalent med flaggan \fB\-I\fP. .IP Om \fITYP\fP är \fBtext\fP bearbetar \fBgrep\fP en binärfil som om den vore text; detta är ekvivalent med flaggan \fB\-a\fP. .IP När \fITYP\fP är \fBbinary\fP kan \fBgrep\fP hantera icke\-textbyte:ar som radavslutare även utan flaggan \fB\-z\fP. Detta betyder att val av \fBbinary\fP eller \fBtext\fP kan påverka huruvida ett mönster matchar en fil. Till exempel, när \fITYP\fP är \fBbinary\fP kan \fBq$\fP matcha \fBq\fP omedelbart följt av en null\-byte, medan detta inte matchar när \fITYP\fP är \fBtext\fP. Omvänt, när \fITYP\fP är \fBbinary\fP kan mönstret \fB.\&\fP (punkt) inte matcha en null\-byte. .IP \fIVarning:\fP flaggan \fB\-a\fP 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 \fB\-a\fP eller att sätta \fBLC_ALL='C'\fP i miljön, för att hitta fler matchningar även om matchningarna inte är säkra att visas direkt. .TP \fB\-D\fP\fI ÅTGÄRD\fP,\fB \-\^\-devices=\fP\fIÅTGÄRD\fP Om en indatafil är en enhet (device), FIFO eller ett uttag (socket), använd då \fIÅTGÄRD\fP för att bearbeta den. Som standard är \fIÅTGÄRD\fP \fBread\fP, vilket betyder att enheten läses som om den vore en vanlig fil. Om \fIÅTGÄRD\fP är \fBskip\fP hoppas enheter tyst över. .TP \fB\-d\fP\fI ÅTGÄRD\fP,\fB \-\^\-directories=\fP\fIÅTGÄRD\fP Om en indatafil är en katalog, använd \fIÅTGÄRD\fP för att bearbeta den. Som standard är \fIÅTGÄRD\fP \fBread\fP, d.v.s., läs kataloger som om de vore vanliga filer. Om \fIÅTGÄRD\fP är \fBskip\fP, hoppa tyst över kataloger. Om \fIÅTGÄRD\fP är \fBrecurse\fP, 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 \fB\-r\fP. .TP \fB\-\^\-exclude=\fP\fIGLOB\fP Hoppa över eventuella kommandoradsfiler med ett namnsuffix som matchar mönstret \fIGLOB\fP 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 (\fB/\fP) i namnet. Vid rekursiv sökning, hoppa över eventuella underfiler vars basnamn matchar \fIGLOB\fP; basnamnet är delen efter det sista snedstrecket. Ett mönster kan använda \fB*\fP, \fB?\fP och \fB[\fP…\fB]\&\fP som jokertecken, och \fB\e\fP för att skydda ett literalt jokertecken eller omvänt snedstreck. .TP \fB\-\^\-exclude\-from=\fP\fIFIL\fP Hoppa över filer vars basnamn matchar något av filnamns\-globbarna som läses från \fIFIL\fP (med användning av jokerteckenmatchning som beskrivs under \fB\-\^\-exclude\fP). .TP \fB\-\^\-exclude\-dir=\fP\fIGLOB\fP Hoppa över eventuella kommandoradskataloger med ett namnsuffix som matchar mönstret \fIGLOB\fP. Vid rekursiv sökning, hoppa över eventuella underkataloger vars basnamn matchar \fIGLOB\fP. Ignorera eventuella överflödiga avslutande snedstreck i \fIGLOB\fP. .TP \fB\-I\fP Bearbeta en binär fil som om den inte innehöll någon matchande data; detta är ekvivalent med flaggan \fB\-\^\-binary\-files=without\-match\fP. .TP \fB\-\^\-include=\fP\fIGLOB\fP Sök endast i filer vars basnamn matchar \fIGLOB\fP (med användning av jokerteckenmatchning som beskrivs under \fB\-\^\-exclude\fP). Om motstridiga flaggor \fB\-\^\-include\fP och \fB\-\^\-exclude\fP ges vinner den sista som matchar. Om ingen flagga \fB\-\^\-include\fP eller \fB\-\^\-exclude\fP matchar inkluderas en fil om inte den första sådana flaggan är \fB\-\^\-include\fP. .TP \fB\-r\fP, \fB\-\^\-recursive\fP 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 \fBgrep\fP i arbetskatalogen. Detta är ekvivalent med flaggan \fB\-d recurse\fP. .TP \fB\-R\fP, \fB\-\^\-dereference\-recursive\fP Läs alla filer under varje katalog, rekursivt. Följ alla symboliska länkar, till skillnad mot \fB\-r\fP. .SS "Andra flaggor" .TP \fB\-\^\-line\-buffered\fP Använd radbuffring av utdata. Detta kan medföra en prestandakostnad. .TP \fB\-U\fP, \fB\-\^\-binary\fP Behandla filerna som binära. Som standard, under MS\-DOS och MS\-Windows gissar \fBgrep\fP huruvida en fil är text eller binär så som det beskrivs för flaggan \fB\-\^\-binary\-files\fP. Om \fBgrep\fP avgör att filen är en textfil tar den bort CR\-tecknen från filens originalinnehåll (för att reguljära uttryck med \fB^\fP och \fB$\fP skall fungera korrekt). Genom att ange \fB\-U\fP å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. .TP \fB\-z\fP, \fB\-\^\-null\-data\fP 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 \fB\-Z\fP eller \fB\-\^\-null\fP kan denna flagga användas med kommandon som \fBsort \-z\fP för att bearbeta godtyckliga filnamn. . .SH "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. .PP \fBgrep\fP förstår tre olika versioner av syntax för reguljära uttryck: \&\*(rqgrundläggande\*(rq (GRU), \*(rqutökade\*(rq (URU) och \*(rqperl\*(rq (PKRU). I GNU \fBgrep\fP ä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 \fBpcre2syntax\fP(3) och \fBpcre2pattern\fP(3), men fungerar bara om stöd för PKRU är aktiverat. .PP 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. .PP Punkten \fB.\&\fP matchar alla enstaka tecken. Det är inte specificerat huruvida det matchar ett kodningsfel. .SS "Teckenklasser och hakparentesuttryck" Ett \fIhakparentesuttryck\fP är en lista av tecken omgivna av \fB[\fP och \fB]\fP. Det matchar vilket enstaka tecken som helst som finns i listan. Om det första tecknet i listan är en cirkumflex \fB^\fP då matchar det vilket tecken som helst som \fIinte\fP finns i listan; det är ospecificerat huruvida det matchar ett kodningsfel. Till exempel matchar det reguljära uttrycket \fB[0123456789]\fP en godtycklig siffra. .PP Inom ett hakparentesuttryck består ett \fIintervalluttryck\fP 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 \fB[a\-d]\fP ekvivalent med \fB[abcd]\fP; det kan vara ekvivalent med \fB[aAbBcCd]\fP, till exempel. För att få den traditionella tolkningen av hakparentesuttryck kan man använda lokalen C genom att sätta miljövariabeln \fBLC_ALL\fP till värdet \fBC\fP. .PP Slutligen är vissa namngivna klasser av tecken fördefinierade inom hakparentesuttryck enligt följande. Deras namn är självförklarande, och de är \fB[:alnum:]\fP, \fB[:alpha:]\fP, \fB[:blank:]\fP, \fB[:cntrl:]\fP, \fB[:digit:]\fP, \fB[:graph:]\fP, \fB[:lower:]\fP, \fB[:print:]\fP, \fB[:punct:]\fP, \fB[:space:]\fP, \fB[:upper:]\fP och \fB[:xdigit:]\fP. Till exempel betyder \fB[[:alnum:]]\fP teckenklassen med siffror och bokstäver i den aktuella lokalen. I lokalen C och teckenuppsättningskodningen ASCII är detta detsamma som \fB[0\-9A\-Za\-z]\fP. (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 \fB]\fP, placera det först i listan. På motsvarande sätt, för att inkludera ett ordagrant \fB^\fP, placera det var som helst utom först. Slutligen, för att inkludera ett bokstavligt \fB\-\fP, placera det sist. .SS Förankring Circumflex \fB^\fP och dollartecknet \fB$\fP är metatecken som matchar den tomma strängen i början respektive slutet av en rad. .SS "Tecknet omvänt snedstreck och specialuttryck" Symbolerna \fB\e<\fP och \fB\e>\fP matchar den tomma strängen i början respektive slutet av ett ord. Symbolen \fB\eb\fP matchar den tomma strängen vid gränsen av ett ord, och \fB\eB\fP matchar den tomma strängen förutsatt att det \fIinte\fP är vid gränsen av ett ord. Symbolen \fB\ew\fP är en synonym för \fB[_[:alnum:]]\fP och \fB\eW\fP är en synonym för \fB[^_[:alnum:]]\fP. .SS Upprepning Ett reguljärt uttryck kan följas av en eller flera upprepningsoperatorer: .PD 0 .TP \fB?\fP Föregående element är valfritt och matchar högst en gång. .TP \fB*\fP Föregående element kommer matchas noll eller flera gånger. .TP \fB+\fP Föregående element kommer matchas en eller flera gånger. .TP \fB{\fP\fIn\fP\fB}\fP Föregående element matchas exakt \fIn\fP gånger. .TP \fB{\fP\fIn\fP\fB,}\fP Föregående element matchas \fIn\fP eller fler gånger. .TP \fB{,\fP\fIm\fP\fB}\fP Föregående element matchas högst \fIm\fP gånger. Detta är en GNU\-utvidgning. .TP \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP Föregående element matchas åtminstone \fIn\fP gånger, men inte mer än \fIm\fP gånger. .PD .SS 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. .SS Alternativ Två reguljära uttryck kan sättas samman med infixoperatorn \fB|\fP; det resulterande reguljära uttrycket matchar en sträng som matchar endera av de alternativa uttrycken. .SS 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. .SS "Bakåtreferenser och deluttryck" The back\-reference \fB\e\fP\fIn\fP \&, where \fIn\fP is a single digit, matches the substring previously matched by the \fIn\fPth parenthesized subexpression of the regular expression. .SS "Grundläggande gentemot utökade reguljära uttryck" I grundläggande reguljära uttryck förlorar metatecknen \fB?\fP, \fB+\fP, \fB{\fP, \fB|\fP, \fB(\fP och \fB)\fP sina speciella betydelser; använd istället versionen med omvänt snedstreck \fB\e?\fP, \fB\e+\fP, \fB\e{\fP, \fB\e|\fP, \fB\e(\fP och \fB\e)\fP. . .SH SLUTSTATUS Normalt är slutstatusen 0 om en rad valts, 1 om inga rader valts och 2 om ett fel uppstod. Dock, om flaggan \fB\-q\fP eller \fB\-\^\-quiet\fP eller \fB\-\^\-silent\fP används och en rad valts är slutstatus 0 även om ett fel uppstod. . .SH MILJÖ Beteendet hos \fBgrep\fP påverkas av följande miljövariabler. .PP Lokalen för kategorin \fBLC_\fP\fIapa\fP anges genom att undersöka de tre miljövariablerna \fBLC_ALL\fP, \fBLC_\fP\fIapa\fP, \fBLANG\fP, i den ordningen. Den första av dessa variabler som är satt definierar lokalen. Till exempel, om \fBLC_ALL\fP inte är satt, men \fBLC_MESSAGES\fP är satt till \fBpt_BR\fP, då används lokalen brasiliansk portugisiska till kategorin \fBLC_MESSAGES\fP. Lokalen C används om ingen av dessa miljövariabler är satt, om lokalkatalogen inte är installerad eller om \fBgrep\fP inte kompilerades med stöd för nationella språk (NLS). Skalkommandot \fBlocale \-a\fP listar lokaler som för närvarande finns tillgängliga. .TP \fBGREP_COLORS\fP Styr hur flaggan \fB\-\^\-color\fP markerar utdata. Dess värde är en kolonseparerad lista av förmågor vilken som standard är \fBms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36\fP med de booleanska förmågorna \fBrv\fP och \fBne\fP utelämnade (d.v.s. falska). De förmågor som stödjs är som följer. .RS .TP \fBsl=\fP SGR\-delsträng för hela valda rader (d.v.s., matchande rader när kommandoradsflaggan \fB\-v\fP inte är med, eller icke\-matchande rader när \fB\-v\fP anges). Om däremot den booleska förmågan \fBrv\fP och kommandoradsflaggan \fB\-v\fP båda anges gäller den för sammanhangsmatchande rader istället. Standardvärdet är tomt (d.v.s., terminalens standardfärgpar). .TP \fBcx=\fP SGR\-delsträng för hela sammanhangsrader (d.v.s., icke matchande rader när kommandoradsflaggan \fB\-v\fP inte är med, eller matchande rader när \fB\-v\fP anges). Om däremot den booleska förmågan \fBrv\fP och kommandoradsflaggan \fB\-v\fP båda anges gäller den för valda icke\-matchande rader istället. Standardvärdet är tomt (d.v.s., terminalens standardfärgpar). .TP \fBrv\fP Booleskt värde som inverterar (byter) betydelsen på förmågorna \fBsl=\fP och \fBcx=\fP när kommandoradsflaggan \fB\-v\fP är med. Standardvärdet är falskt (d.v.s., förmågan utelämnas). .TP \fBmt=01;31\fP SGR\-delsträng för matchande icke\-tom text i matchande rader (d.v.s., en vald rad när när kommandoradsflaggan \fB\-v\fP inte är med, eller en sammanhangsrad när \fB\-v\fP anges). Att sätta denna är ekvivalent med att sätta både \fBms=\fP och \fBmc=\fP samtidigt till samma värde. Standardvärdet är röd fet text över den aktuella radbakgrunden. .TP \fBms=01;31\fP SGR\-delsträng för matchande icke\-tom text valda rader. (Detta används bara när kommandoradsflaggan \fB\-v\fP inte är med.) Effekten av förmågan \fBsl=\fP (eller \fBcx=\fP om \fBrv\fP) är fortfarande aktiv när detta slår till. Standardvärdet är fet röd text i förgrunden över den aktuella radbakgrunden. .TP \fBmc=01;31\fP SGR\-delsträng för matchande icke\-tom text i en sammanhangsrad. (Detta används bara när kommandoradsflaggan \fB\-v\fP anges.) Effekten av förmågan \fBcx=\fP (eller \fBsl=\fP om \fBrv\fP) är fortfarande aktiv när detta slår till. Standardvärdet är fet röd text i förgrunden över den aktuella radbakgrunden. .TP \fBfn=35\fP SGR\-delsträng för filnamnsprefix på en innehållsrad. Standardvärdet är magenta text i förgrunden över den aktuella radbakgrunden. .TP \fBln=32\fP SGR\-delsträng för radnummerprefix på en innehållsrad. Standardvärdet är grön text i förgrunden över terminalens standardbakgrund. .TP \fBbn=32\fP SGR\-delsträng för byteavstånd på en innehållsrad. Standardvärdet är grön text i förgrunden över terminalens standardbakgrund. .TP \fBse=36\fP SGR\-delsträng för separatorer som infogas mellan valda radfält (\fB:\fP), mellan kontextradsfält, (\fB\-\fP), och mellan grupper av intilliggande rader när nollskild sammanhang anges (\fB\-\^\-\fP). Standardvärdet är cyan text i förgrunden över terminalens standardbakgrund. .TP \fBne\fP Booleskt värde som förhindrar tömning till slutet av raden med Erase in Line (EL) to Right (\fB\e33[K\fP) 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 \fBback_color_erase\fP (\fBbce\fP) 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). .PP Obervera att booleska förmågor inte har någon del \fB=\fP…. De utelämnas (d.v.s., falska) som standard och blir sanna när de anges. .PP 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. \fBgrep\fP tar hand om att sätta samman resultatet till en fullständig SGR\-sekvens (\fB\e33[\fP…\fBm\fP). Vanliga värden att sätta samman innefattar \fB1\fP för fetstil, \fB4\fP för understrykning, \fB5\fP för blink, \fB7\fP för invers, \fB39\fP för standardförgrundsfärg, \fB30\fP till \fB37\fP för förgrundsfärger, \fB90\fP till \fB97\fP för 16\-färgersläge för förgrundsfärger, \fB38;5;0\fP till \fB38;5;255\fP för 88\-färgersläges och 256\-färgersläges förgrundsfärger, \fB49\fP för standardbakgrundsfärg, \fB40\fP till \fB47\fP för bakgrundsfärger, \fB100\fP till \fB107\fP för 16\-bitarsläges bakgrundsfärger, och \fB48;5;0\fP till \fB48;5;255\fP för 88\-färgersläges och 256\-färgersläges bakgrundsfärger. .RE .TP \fBLC_ALL\fP, \fBLC_COLLATE\fP, \fBLANG\fP Dessa variabler anger lokalen för kategorin \fBLC_COLLATE\fP, vilken avgör sorteringsordningen som används för att tolka intervalluttryck som \fB[a\-z]\fP. .TP \fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP Dessa variabler anger lokalen för kategorin \fBLC_CTYPE\fP, 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. .TP \fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP Dessa variabler anger lokalen för kategorin \fBLC_MESSAGES\fP, vilken avgör språket som \fBgrep\fP använder för meddelanden. Standardlokalen C använder meddelanden på amerikansk engelska. .TP \fBPOSIXLY_CORRECT\fP Om satt beter sig \fBgrep\fP som POSIX kräver; annars beter sig \fBgrep\fP 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 \*(rqillegal\*(rq, men eftersom de inte i egentlig mening strider mot lagen är standard att diagnostisera dem som \*(rqinvalid\*(rq (ogiltig). . .SH NOTERINGAR Denna manualsida underhålls endast sporadiskt; den fullständiga dokumentationen är ofta mer aktuell. . .SH COPYRIGHT Copyright 1998\-2000, 2002, 2005\-2023 Free Software Foundation, Inc. .PP 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. . .SH FEL .SS "Rapportering av fel" E\-posta felrapporter till .MT bug\-grep@gnu.org felrapporteringsadressen .ME . Ett .UR https://lists.gnu.org/mailman/listinfo/bug\-grep e\-postarkiv .UE och en .UR https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep felärendehanterare .UE finns tillgängliga. Rapportera fel på översättningen till .MT tp\-sv@listor.tp\-sv.se den svenska översättningslistan .ME . .SS "Kända fel" Höga upprepningsantal i konstruktionen \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP kan få \fBgrep\fP 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 \fBgrep\fP får slut på minne. .PP Bakåtreferenser är mycket långsamma, och kan behöva exponentiell tid. . .SH EXEMPEL Följande exempel skriver ut platsen och innehållet för alla rader som innehåller \*(rqf\*(rq och slutar i \*(rq.c\*(rq, i alla filer i den aktuella katalogen vars namn innehåller \*(rqg\*(rq och slutar på \*(rq.h\*(rq. Flaggan \fB\-n\fP skriver ut radnummer, argumentet \fB\-\-\fP hanterar expansioner av \*(rq*g*.h\*(rq som börjar med \&\*(rq\-\*(rq 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 \*(rq*g*.h\*(rq. .PP .in +2n .EX $ \fBgrep\fP \-n \-\- 'f.*\e.c$' *g*.h /dev/null argmatch.h:1:/* definitions and prototypes for argmatch.c .EE .in .PP 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. . .SH "SE ÄVEN" .SS "Reguljära manualsidor" \fBawk\fP(1), \fBcmp\fP(1), \fBdiff\fP(1), \fBfind\fP(1), \fBperl\fP(1), \fBsed\fP(1), \fBsort\fP(1), \fBxargs\fP(1), \fBread\fP(2), \fBpcre2\fP(3), \fBpcre2syntax\fP(3), \fBpcre2pattern\fP(3), \fBterminfo\fP(5), \fBglob\fP(7), \fBregex\fP(7) .SS "Fullständig dokumentation" En .UR https://www.gnu.org/software/grep/manual/ fullständig manual .UE finns tillgänglig. Om programmen \fBinfo\fP och \fBgrep\fP är korrekt installerade på sajten skall kommandot .IP \fBinfo grep\fP .PP ge dig tillgång till den kompletta manualen. . .\" Work around problems with some troff -man implementations. .br . .\" Format for Emacs-maintained Dt string defined at this file's start. .\" Local variables: .\" time-stamp-format: "%:y-%02m-%02d" .\" End: .PP .SH ÖVERSÄTTNING Den svenska översättningen av denna manualsida skapades av Göran Uddeborg . .PP Denna översättning är fri dokumentation; läs .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR. .PP Om du hittar fel i översättningen av denna manualsida, skicka ett mail till .MT Tp-sv@listor.tp-sv.se .ME .