.\" -*- 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" "Comenzi utilizator" . .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: .\" http://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 NUME grep \- afișează liniile care se potrivesc cu modelele . .SH SINOPSIS \fBgrep\fP [\fIOPȚIUNE\fP.\|.\|.]\& \fIMODELE\fP [\fIFIȘIER\fP.\|.\|.] .br \fBgrep\fP [\fIOPȚIUNE\fP.\|.\|.]\& \fB\-e\fP \fIMODELE\fP \&.\|.\|.\& [\fIFIȘIER\fP.\|.\|.] .br \fBgrep\fP [\fIOPȚIUNE\fP.\|.\|.]\& \fB\-f\fP \fIFIȘIER_MODEL\fP \&.\|.\|.\& [\fIFIȘIER\fP.\|.\|.] . .SH DESCRIERE \fBgrep\fP caută \fIMODELE\fP în fiecare \fIFIȘIER\fP. \fIMODELE\fP reprezintă unul sau mai multe modele separate prin caractere de linie nouă, iar \fBgrep\fP afișează fiecare linie care corespunde unui model. De obicei, \fIMODELELE\fP trebuie să fie citate atunci când \fBgrep\fP este utilizat într\-o comandă shell. .PP Un \fIFIȘIER\fP de tipul „\fB\-\fP”reprezintă intrarea standard. Dacă nu se indică niciun \fIFIȘIER\fP, căutările recursive examinează directorul de lucru, iar căutările nerecursive citesc intrarea standard. . .SH OPȚIUNI .SS "Informații generice despre program" .TP \fB\-\^\-help\fP Afișează un scurt mesaj de utilizare și iese. .TP \fB\-V\fP, \fB\-\^\-version\fP Afișează numărul de versiune al lui \fBgrep\fP și iese. .SS "Sintaxă model" .TP \fB\-E\fP, \fB\-\^\-extended\-regexp\fP Interpretează \fIMODELELE\fP ca expresii regulate extinse (ERE\-uri, a se vedea mai jos). .TP \fB\-F\fP, \fB\-\^\-fixed\-strings\fP Interpretează \fIMODELELE\fP ca șiruri fixe, nu ca expresii regulate. .TP \fB\-G\fP, \fB\-\^\-basic\-regexp\fP Interpretați \fIMODELELE\fP ca expresii regulate de bază (ERB\-uri, a se vedea mai jos). Aceasta este valoarea implicită. .TP \fB\-P\fP, \fB\-\^\-perl\-regexp\fP Interpretează \fIMODELELE\fP ca expresii regulate compatibile cu Perl (PCRE). Această opțiune este experimentală atunci când este combinată cu opțiunea \fB\-z\fP (\fB\-\^\-null\-data\fP), iar \fBgrep \-P\fP poate avertiza cu privire la caracteristicile neimplementate. .SS "Controlare potrivire" .TP \fB\-e\fP\fI MODELE\fP,\fB \-\^\-regexp=\fP\fIMODELE\fP Utilizează \fIMODELE\fP ca modele. Dacă această opțiune este utilizată de mai multe ori sau este combinată cu opțiunea \fB\-f\fP (\fB\-\^\-file\fP), se caută toate modelele date. Această opțiune poate fi utilizată pentru a proteja un model care începe cu „\-”. .TP \fB\-f\fP\fI FIȘIER\fP,\fB \-\^\-file=\fP\fIFIȘIER\fP Obține modele din \fIFIȘIER\fP, unul pe linie. Dacă această opțiune este utilizată de mai multe ori sau este combinată cu opțiunea \fB\-e\fP (\fB\-\^\-regexp\fP), se caută toate modelele date. Fișierul gol conține zero modele și, prin urmare, nu se potrivește cu nimic. Dacă \fIFIȘIERUL\fP este \fB\-\fP , se citesc modelele de la intrarea standard. .TP \fB\-i\fP, \fB\-\^\-ignore\-case\fP Ignoră diferențele dintre majuscule și minuscule din modele și datele de intrare, astfel încât caracterele care diferă doar prin majuscule să se potrivească între ele. .TP \fB\-\^\-no\-ignore\-case\fP Nu ignoră diferențele dintre majuscule și minuscule în modele și în datele de intrare. Aceasta este valoarea implicită. Această opțiune este utilă pentru a fi transmisă scripturilor shell care utilizează deja \fB\-i\fP, pentru a anula efectele acesteia, deoarece cele două opțiuni se substituie reciproc. .TP \fB\-v\fP, \fB\-\^\-invert\-match\fP Inversează sensul de potrivire, pentru a selecta liniile care nu se potrivesc. .TP \fB\-w\fP, \fB\-\^\-word\-regexp\fP Selectează numai acele linii care conțin corespondențe care formează cuvinte întregi. Testul constă în faptul că subșirul care corespunde trebuie să se afle la începutul liniei sau să fie precedat de un caracter constitutiv care nu este un cuvânt. În mod similar, trebuie să se afle fie la sfârșitul liniei, fie să fie urmat de un caracter constitutiv care nu este un cuvânt. Caracterele constitutive de cuvânt sunt litere, cifre și liniuțe de subliniere. Această opțiune nu are niciun efect dacă se specifică și \fB\-x\fP. .TP \fB\-x\fP, \fB\-\^\-line\-regexp\fP Selectează numai acele corespondențe care corespund exact întregii linii. Pentru un model de expresie regulată, acest lucru este ca și cum ai pune în paranteze modelul și apoi l\-ai încadra cu \fB^\fP și \fB$\fP. .SS "Controlul general al ieșirii" .TP \fB\-c\fP, \fB\-\^\-count\fP Elimină ieșirea normală; în schimb, afișează un număr de linii corespunzătoare pentru fiecare fișier de intrare. Cu opțiunea \fB\-v\fP, \fB\-\^\-invert\-match\fP (a se vedea mai sus), numără liniile care nu corespund. .TP \fB\-\^\-color\fP[\fB=\fP\fICÂND\fP], \fB\-\^\-colour\fP[\fB=\fP\fICÂND\fP] Înconjoară șirurile de caractere (nevide), liniile potrivite, liniile de context, numele fișierelor, numerele de linie, decalajele de octeți și separatorii (pentru câmpuri și grupuri de linii de context) cu secvențe de eludare pentru a le afișa în culori pe terminal. Culorile sunt definite de variabila de mediu \fBGREP_COLORS\fP. \fICÂND\fP este \fBnever\fP (niciodată), \fBalways\fP (întotdeauna) sau \fBauto\fP. .TP \fB\-L\fP, \fB\-\^\-files\-without\-match\fP Suprimă ieșirea normală; în schimb, afișează numele fiecărui fișier de intrare din care în mod normal nu ar fi fost afișată nicio ieșire. .TP \fB\-l\fP, \fB\-\^\-files\-with\-matches\fP Suprimă ieșirea normală; în schimb, afișează numele fiecărui fișier de intrare din care ar fi fost afișată în mod normal ieșirea. Scanarea fiecărui fișier de intrare se oprește la prima potrivire. .TP \fB\-m\fP\fI NUMĂR\fP,\fB \-\^\-max\-count=\fP\fINUMĂR\fP Oprește citirea unui fișier după \fINUMĂR\fP linii potrivite. Dacă \fINUMĂR\fP este zero, \fBgrep\fP se oprește imediat fără a citi datele de intrare. Un \fINUMĂR\fP de \-1 este tratat ca infinit și \fBgrep\fP nu se oprește; aceasta este valoarea implicită. În cazul în care intrarea este o intrare standard dintr\-un fișier obișnuit și \fINUMĂR\fP linii care se potrivesc sunt afișate, \fBgrep\fP se asigură că intrarea standard este poziționată imediat după ultima linie de corespondență înainte de a ieși, indiferent de prezența liniilor de context la sfârșit. Acest lucru permite unui proces de apelare să reia o căutare. Atunci când \fBgrep\fP se oprește după \fINUMĂR\fP linii de potrivire, acesta afișează orice linii de context care urmează. Atunci când se utilizează și opțiunea \fB\-c\fP sau \fB\-\^\-count\fP, \fBgrep\fP nu afișează un număr mai mare decât \fINUMĂR\fP. Atunci când se utilizează și opțiunea \fB\-v\fP sau \fB\-\^\-invert\-match\fP, \fBgrep\fP se oprește după ce a afișat \fINUMĂR\fP linii care nu se potrivesc. .TP \fB\-o\fP, \fB\-\^\-only\-matching\fP Afișează numai părțile care se potrivesc (și care nu sunt goale) dintr\-o linie de potrivire, fiecare parte fiind pe o linie de ieșire separată. .TP \fB\-q\fP, \fB\-\^\-quiet\fP, \fB\-\^\-silent\fP Silențios; nu scrie nimic la ieșirea standard. Iese imediat cu starea zero dacă se găsește vreo potrivire, chiar dacă a fost detectată o eroare. A se vedea, de asemenea, opțiunea \fB\-s\fP sau \fB\-\^\-no\-messages\fP. .TP \fB\-s\fP, \fB\-\^\-no\-messages\fP Suprimă mesajele de eroare privind fișierele inexistente sau care nu pot fi citite. .SS "Controlul prefixului liniei de ieșire" .TP \fB\-b\fP, \fB\-\^\-byte\-offset\fP Afișează decalajul de octeți (începând de la octetul 0) în fișierul de intrare înainte de fiecare linie de ieșire. Dacă este specificat \fB\-o\fP (\fB\-\^\-only\-matching\fP), se afișează decalajul părții de potrivire în sine. .TP \fB\-H\fP, \fB\-\^\-with\-filename\fP Afișează numele fișierului pentru fiecare potrivire. Aceasta este opțiunea implicită atunci când există mai multe fișiere de căutat. Aceasta este o extensie GNU. .TP \fB\-h\fP, \fB\-\^\-no\-filename\fP Suprimă prefixarea numelor de fișiere la ieșire. Aceasta este valoarea implicită atunci când există un singur fișier (sau doar intrarea standard) de căutat. .TP \fB\-\^\-label=\fP\fIETICHETA\fP Afișează intrarea care provine de fapt de la intrarea standard ca intrare provenind din fișierul \fIETICHETA\fP. Acest lucru poate fi util pentru comenzile care transformă conținutul unui fișier înainte de căutare, de exemplu, «\fBgzip \-cd foo.gz | grep \-\^\-label=foo \-H 'vreun\-model'\fP». A se vedea, de asemenea, opțiunea \fB\-H\fP. .TP \fB\-n\fP, \fB\-\^\-line\-number\fP Prefixează fiecare linie de ieșire cu numărul de linie (începând de la 1) din fișierul de intrare. .TP \fB\-T\fP, \fB\-\^\-initial\-tab\fP Se asigură că primul caracter al conținutului propriu\-zis al liniei se află pe o tabulație, astfel încât alinierea tabulațiilor să aibă un aspect normal. Acest lucru este util în cazul opțiunilor care își prefixează ieșirea față de conținutul real: \fB\-H\fP,\fB\-n\fP, și \fB\-b\fP. Pentru a îmbunătăți probabilitatea ca liniile dintr\-un singur fișier să înceapă toate la aceeași coloană, acest lucru face, de asemenea, ca numărul liniei și decalajul de octeți (dacă este prezent) să fie afișate într\-o lățime de câmp de dimensiune minimă. .TP \fB\-Z\fP, \fB\-\^\-null\fP Afișează un octet zero (caracterul ASCII \fBNUL\fP) în locul caracterului care urmează în mod normal după un nume de fișier. De exemplu, \fBgrep \-lZ\fP generează un octet zero după fiecare nume de fișier, în loc de linia nouă obișnuită. Această opțiune face ca ieșirea să fie lipsită de ambiguitate, chiar și în prezența numelor de fișiere care conțin caractere neobișnuite, cum ar fi liniile noi. Această opțiune poate fi utilizată împreună cu comenzi precum \fBfind \-print0\fP, \fBperl \-0\fP, \fBsort \-z\fP și \fBxargs \-0\fP pentru a procesa nume de fișiere arbitrare, chiar și cele care conțin caractere de linie nouă. .SS "Controlul liniei contextuale" .TP \fB\-A\fP\fI NUMĂR\fP,\fB \-\^\-after\-context=\fP\fINUMĂR\fP Afișează \fINUMĂR\fP linii de context după liniile care se potrivesc. Plasează o linie care conține un separator de grup (\fB\-\^\-\fP) între grupurile contigue de corespondențe. În cazul opțiunii \fB\-o\fP sau \fB\-\^^\-only\-matching\fP, acest lucru nu are niciun efect și se emite un avertisment. .TP \fB\-B\fP\fI NUMĂR\fP,\fB \-\^\-before\-context=\fP\fINUMĂR\fP Afișează \fINUMĂR\fP linii de context înainte de liniile care se potrivesc. Plasează o linie care conține un separator de grup (\fB\-\^\-\fP) între grupurile contigue de corespondențe. În cazul opțiunii \fB\-o\fP sau \fB\-\^^\-only\-matching\fP, acest lucru nu are niciun efect și se emite un avertisment. .TP \fB\-C\fP\fI NUM\fP,\fB \-\fP\fINUMĂR\fP,\fB \-\^\-context=\fP\fINUMĂR\fP Afișează \fINUMĂR\fP linii de context de ieșire. Plasează o linie care conține un separator de grup (\fB\-\^\-\fP) între grupurile contigue de potriviri. În cazul opțiunii \fB\-o\fP sau \fB\-\^^\-only\-matching\fP, acest lucru nu are niciun efect și se emite un avertisment. .TP \fB\-\^\-group\-separator=\fP\fISEPARATOR\fP Atunci când se utilizează \fB\-A\fP, \fB\-B\fP sau \fB\-C\fP, imprimă \fISEPARATOR\fP în loc de \fB\-\^\-\fP între grupurile de linii. .TP \fB\-\^\-no\-group\-separator\fP Atunci când se utilizează \fB\-A\fP, \fB\-B\fP sau \fB\-C\fP, nu imprimă un separator între grupurile de linii. .SS "Selectarea fișierelor și directoarelor" .TP \fB\-a\fP, \fB\-\^\-text\fP Procesează un fișier binar ca și cum ar fi text; aceasta este echivalentă cu opțiunea \fB\-\^\-binary\-files=text\fP. .TP \fB\-\^\-binary\-files=\fP\fITIP\fP În cazul în care datele sau metadatele unui fișier indică faptul că fișierul conține date binare, se presupune că fișierul este de tip \fITIP\fP. Octeții care nu sunt text indică date binare; aceștia sunt fie octeți de ieșire care sunt codificați în mod necorespunzător pentru regiunea curentă, fie octeți de intrare nuli atunci când nu este furnizată opțiunea \fB\-z\fP. .IP În mod implicit, \fITIP\fP este \fBbinary\fP, iar \fBgrep\fP suprimă ieșirea după ce se descoperă date binare de intrare nule și suprimă liniile de ieșire care conțin date codificate necorespunzător. Atunci când unele ieșiri sunt suprimate, \fBgrep\fP urmează orice ieșire cu un mesaj la ieșirea de eroare standard care informează că un fișier binar corespunde. .IP Dacă \fITIP\fP este \fBwithout\-match\fP, atunci când \fBgrep\fP descoperă date binare de intrare nule, presupune că restul fișierului nu se potrivește; acest lucru este echivalent cu opțiunea \fB\-I\fP. .IP Dacă \fITIP\fP este \fBtext\fP, \fBgrep\fP procesează un fișier binar ca și cum ar fi text; acest lucru este echivalent cu opțiunea \fB\-a\fP. .IP Când \fItip\fP este \fBbinary\fP, \fBgrep\fP poate trata octeții care nu sunt text ca terminatori de linie chiar și fără opțiunea \fB\-z\fP. Aceasta înseamnă că alegerea \fBbinary\fP față de \fBtext\fP poate afecta dacă un model se potrivește cu un fișier. De exemplu, atunci când \fItip\fP este \fBbinary\fP, modelul \fBq$ ar putea\fP să se potrivească cu \fBq\fP urmat imediat de un octet nul, chiar dacă acesta nu se potrivește atunci când \fItip\fP este \fBtext\fP. În schimb, atunci când \fItip\fP este \fBbinar\fP, este posibil ca modelul \fB.\&\fP (punct) să nu se potrivească cu un octet nul. .IP \fIAtenție:\fP Opțiunea \fB\-a\fP ar putea afișa deșeuri binare, ceea ce poate avea efecte secundare neplăcute dacă ieșirea este un terminal și dacă controlorul terminalului interpretează o parte din ele ca fiind comenzi. Pe de altă parte, atunci când se citesc fișiere ale căror codificări de text sunt necunoscute, poate fi util să se utilizeze \fB\-a\fP sau să definiți \fBLC_ALL='C'\fP în mediu, pentru a găsi mai multe corespondențe, chiar dacă acestea nu sunt sigure pentru afișarea directă. .TP \fB\-D\fP\fI ACȚIUNE\fP,\fB \-\^\-devices=\fP\fIACȚIUNE\fP Dacă un fișier de intrare este un dispozitiv, FIFO sau soclu, utilizați \fIACȚIUNE\fP pentru a\-l procesa. În mod implicit, \fIACȚIUNEA\fP este \fBread\fP, ceea ce înseamnă că dispozitivele sunt citite ca și cum ar fi fișiere obișnuite. Dacă \fIACȚIUNEA\fP este \fBskip\fP, dispozitivele sunt omise în mod silențios. .TP \fB\-d\fP\fI ACȚIUNE\fP,\fB \-\^\-directories=\fP\fIACȚIUNE\fP Dacă un fișier de intrare este un director, utilizați \fIACȚIUNE\fP pentru a\-l procesa. În mod implicit, \fIACȚIUNEA\fP este \fBread\fP, adică citește directoarele ca și cum ar fi fișiere obișnuite. Dacă \fIACȚIUNEA\fP este \fBskip\fP, se omit silențios directoarele. Dacă \fIACȚIUNEA\fP este \fBrecurse\fP, se citesc toate fișierele din fiecare director, în mod recursiv, urmând legăturile simbolice numai dacă acestea se află în linia de comandă. Aceasta este echivalentă cu opțiunea \fB\-r\fP. .TP \fB\-\^\-exclude=\fP\fIGLOBAL\fP Ignoră orice fișier din linia de comandă cu un sufix de nume care se potrivește cu modelul \fIGLOBAL\fP, folosind caractere joker; un sufix de nume este fie întregul nume, fie o parte din urmă care începe cu un caracter care nu este o bară oblică imediat după o bară oblică (\fB/\fP) în nume. Atunci când se efectuează o căutare recursivă, se sare peste orice subfișier al cărui nume de bază se potrivește cu \fIGLOBAL\fP; numele de bază este partea de după ultima bară oblică. Un model poate folosi \fB*\fP, \fB?\fP și \fB[\fP.\|.\|.\fB]\&\fP drept caractere joker, iar \fB\e\fP pentru a cita literal un caracter joker sau o bară oblică inversă. .TP \fB\-\^\-exclude\-from=\fP\fIFIȘIER\fP Omite fișierele al căror nume de bază se potrivește cu oricare dintre modelele globale de nume de fișiere citite din \fIFIȘIER\fP (utilizând potrivirea cu caractere joker, așa cum este descris la \fB\-\^\-exclude\fP). .TP \fB\-\^\-exclude\-dir=\fP\fIGLOBAL\fP Omite orice director din linia de comandă cu un sufix de nume care se potrivește cu modelul \fIGLOBAL\fP. În cazul căutării recursive, se omite orice subdirector al cărui nume de bază se potrivește cu \fIGLOBAL\fP. Ignoră orice bară oblică redundantă din \fIGLOBAL\fP. .TP \fB\-I\fP Procesează un fișier binar ca și cum nu ar conține potriviri de date; acest lucru este echivalent cu opțiunea \fB\-\^\-binary\-files=without\-match\fP. .TP \fB\-\^\-include=\fP\fIGLOBAL\fP Caută numai fișierele al căror nume de bază se potrivește cu \fIGLOBAL\fP (folosind caractere joker de potrivire așa cum este descris la \fB\-\^\-exclude\fP). În cazul în care sunt date opțiuni contradictorii \fB\-\^\-include\fP și \fB\-\^\-exclude\fP, ultima opțiune care se potrivește câștigă. Dacă nici o opțiune \fB\-\^\-include\fP sau \fB\-\^\-exclude\fP nu se potrivește, un fișier este inclus, cu excepția cazului în care prima opțiune de acest tip este \fB\-\^\-include\fP. .TP \fB\-r\fP, \fB\-\^\-recursive\fP Citește toate fișierele din fiecare director, în mod recursiv, urmărind legăturile simbolice numai dacă acestea se află în linia de comandă. Rețineți că, dacă nu se indică un operand de fișier, \fBgrep\fP caută în directorul de lucru. Acest lucru este echivalent cu opțiunea \fB\-d recurse\fP. .TP \fB\-R\fP, \fB\-\^\-dereference\-recursive\fP Citește toate fișierele din fiecare director, în mod recursiv. Urmărește toate legăturile simbolice, spre deosebire de \fB\-r\fP. .SS "Alte opțiuni" .TP \fB\-\^\-line\-buffered\fP Utilizează memoria tampon de linie la ieșire. Acest lucru poate cauza o penalizare a performanței. .TP \fB\-U\fP, \fB\-\^\-binary\fP Tratează fișierul (fișierele) ca fiind binar(e). În mod implicit, în MS\-DOS și MS\-Windows, \fBgrep\fP ghicește dacă un fișier este text sau binar, așa cum este descris pentru opțiunea \fB\-\^\-binary\-files\fP. Dacă \fBgrep\fP decide că fișierul este un fișier text, elimină caracterele CR din conținutul original al fișierului (pentru ca expresiile regulate cu \fB^\fP și \fB$\fP să funcționeze corect). Specificarea \fB\-U\fP anulează această presupunere, făcând ca toate fișierele să fie citite și transmise mecanismului de potrivire textual; dacă fișierul este un fișier text cu perechi CR/LF la sfârșitul fiecărei linii, acest lucru va face ca unele expresii regulate să eșueze. Această opțiune nu are niciun efect pe alte platforme decât MS\-DOS și MS\-Windows. .TP \fB\-z\fP, \fB\-\^\-null\-data\fP Tratează datele de intrare și de ieșire ca secvențe de linii, fiecare terminată cu un octet zero (caracterul ASCII NUL) în loc de o linie nouă. Ca și opțiunea \fB\-Z\fP sau \fB\-\^\-null\fP, această opțiune poate fi utilizată cu comenzi precum \fBsort \-z\fP pentru a procesa nume de fișiere arbitrare. . .SH "EXPRESII REGULATE" O expresie regulată este un model care descrie un set de șiruri de caractere. Expresiile regulate se construiesc în mod analog cu expresiile aritmetice, prin utilizarea diferiților operatori pentru a combina expresii mai mici. .PP \fBgrep\fP înțelege trei versiuni diferite de sintaxă a expresiilor regulate: „bazic” (ERB), „extins” (ERE) și „perl” (PCRE). În GNU \fBgrep\fP, expresiile regulate de bază și cele extinse sunt doar notații diferite pentru aceeași funcționalitate de potrivire a modelelor. În alte implementări, expresiile regulate de bază sunt în mod normal mai puțin puternice decât cele extinse, deși, ocazional, este invers. Următoarea descriere se aplică expresiilor regulate extinse; diferențele pentru expresiile regulate de bază sunt rezumate ulterior. Expresiile regulate compatibile cu Perl au o funcționalitate diferită și sunt documentate în \fBpcre2syntax\fP(3) și \fBpcre2pattern\fP(3), dar funcționează numai dacă este activat suportul PCRE. .PP Blocurile de construcție fundamentale sunt expresiile regulate care se potrivesc cu un singur caracter. Majoritatea caracterelor, inclusiv toate literele și cifrele, sunt expresii regulate care se potrivesc singure. Orice metacaracter cu semnificație specială poate fi citat prin precedarea lui cu o bară oblică inversă. .PP Punctul \fB.\&\fP se potrivește cu orice caracter unic. Nu este specificat dacă se potrivește cu o eroare de codificare. .SS "Clase de caractere și expresii între paranteze" O \fIexpresie între paranteze\fP este o listă de caractere cuprinsă între \fB[\fP și \fB]\fP. Se potrivește cu orice caracter din lista respectivă. Dacă primul caracter din listă este caracterul \fB^\fP, atunci se potrivește cu orice caracter care \fInu\fP este în listă; nu este specificat dacă se potrivește cu o eroare de codificare. De exemplu, expresia regulată \fB[0123456789]\fP se potrivește cu orice cifră unică. .PP În cadrul unei expresii între paranteze, o expresie \fIexpresie de interval\fP este formată din două caractere separate prin cratimă. Aceasta se potrivește cu orice caracter unic care se află între cele două caractere, inclusiv, folosind secvența de colaționare și setul de caractere din configurația regională. De exemplu, în configurația regională implicită C, \fB[a\-d]\fP este echivalent cu \fB[abcd]\fP. Multe configurații regionale sortează caracterele în ordinea în care se face într\-un dicționar, iar în aceste configurații regionale \fB[a\-d]\fP nu este de obicei echivalent cu \fB[abcd]\fP; ar putea fi echivalent cu \fB[aBbCcDd]\fP, de exemplu. Pentru a obține interpretarea tradițională a expresiilor între paranteze, puteți utiliza configurația regională C prin definirea variabilei de mediu \fBLC_ALL\fP la valoarea \fBC\fP. .PP De asemenea, anumite clase de caractere sunt predefinite în cadrul expresiilor între paranteze, după cum urmează. Numele lor sunt autoexplicative și sunt \fB[:alnum:]\fP (alfanumerice), \fB[:alpha:]\fP (alfabetice), \fB[:blank:]\fP (spații și tabulatoare), \fB[:cntrl:]\fP (caractere de control), \fB[:digit:]\fP (cifre), \fB[:graph:]\fP (caractere vizibile), \fB[:lower:]\fP (minuscule), \fB[:print:]\fP (caractere imprimabile), \fB[:punct:]\fP (caractere de punctuație), \fB[:space:]\fP (spații în alb), \fB[:upper:]\fP (majuscule) și \fB[:xdigit:]\fP. De exemplu, \fB[[:alnum:]]\fP înseamnă clasa de caractere a numerelor și literelor din configurația regională curentă. În configurația regională C și în codificarea setului de caractere ASCII, aceasta este aceeași cu \fB[0\-9A\-Za\-z]\fP. Rețineți că parantezele din aceste nume de clase fac parte din numele simbolice și trebuie incluse în plus față de parantezele care delimitează expresia de paranteze. Majoritatea metacaracterelor își pierd semnificația specială în interiorul expresiilor între paranteze. Pentru a include un literal \fB]\fP, plasați\-l primul în listă. În mod similar, pentru a include un literal \fB^\fP plasați\-l oriunde, dar nu primul. În cele din urmă, pentru a include un literal \fB\-\fP, plasați\-l ultimul. .SS Ancorarea Accentul circumflex \fB^\fP și semnul de dolar \fB$\fP sunt metacaractere care se potrivesc cu șirul gol la începutul și, respectiv, la sfârșitul unei linii. .SS "Caracterul de bară oblică inversă și expresiile speciale" Simbolurile \fB\e<\fP și \fB\e>\fP corespund șirului gol la începutul și, respectiv, la sfârșitul unui cuvânt. Simbolul \fB\eb\fP corespunde șirului gol la marginea unui cuvânt, iar \fB\eB\fP corespunde șirului gol, cu condiția ca acesta să \fInu\fP fie la marginea unui cuvânt. Simbolul \fB\ew\fP este un sinonim pentru \fB[_[:alnum:]]\fP, iar \fB\eW\fP este un sinonim pentru \fB[^_[:alnum:]]\fP. .SS Repetiția O expresie regulată poate fi urmată de unul dintre mai mulți operatori de repetiție: .PD 0 .TP \fB?\fP Elementul precedent este opțional și se potrivește cel mult o dată. .TP \fB*\fP Elementul precedent se va potrivi de zero sau mai multe ori. .TP \fB+\fP Elementul precedent se va potrivi de una sau mai multe ori. .TP \fB{\fP\fIn\fP\fB}\fP Elementul precedent se potrivește exact de \fIn\fP ori. .TP \fB{\fP\fIn\fP\fB,}\fP Elementul precedent se potrivește de \fIn\fP sau mai multe ori. .TP \fB{,\fP\fIm\fP\fB}\fP Elementul precedent se potrivește de cel mult \fIm\fP ori. Aceasta este o extensie GNU. .TP \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP Elementul precedent se potrivește de cel puțin \fIn\fP ori, dar nu mai mult de \fIm\fP ori. .PD .SS Concatenarea Două expresii regulate pot fi concatenate; expresia regulată rezultată se potrivește cu orice șir format prin concatenarea a două subșiruri care se potrivesc cu expresiile concatenate. .SS Alternative Două expresii regulate pot fi unite prin operatorul infix \fB|\fP; expresia regulată rezultată se potrivește cu orice șir de caractere care se potrivește cu oricare dintre cele două expresii (expresii alternative). .SS Precedența Repetiția are prioritate față de concatenare, care, la rândul ei, are prioritate față de alternare. O expresie întreagă poate fi inclusă între paranteze pentru a anula aceste reguli de precedență și a forma o subexpresie. .SS "Retro\-referințe și subexpresii" Retro\-referința \fB\e\fP\fIn\fP, unde \fIn\fP este o singură cifră, se potrivește cu subșirul de caractere care s\-a potrivit anterior cu cea de\-a \fIn\fP\-a subexpresie între paranteze a expresiei regulate. .SS "Expresii regulate de bază vs Expresii regulate extinse" În expresiile regulate de bază, metacaracterele \fB?\fP, \fB+\fP, \fB{\fP, \fB|\fP, \fB(\fP și \fB)\fP își pierd semnificația specială; în schimb, se folosesc versiunile cu bară oblică inversă \fB\e?\fP, \fB\e+\fP, \fB\e{\fP, \fB\e|\fP, \fB\e(\fP și \fB\e)\fP. . .SH "STARE DE IEȘIRE" În mod normal, starea de ieșire este 0 dacă este selectată o linie, 1 dacă nu a fost selectată nicio linie și 2 dacă s\-a produs o eroare. Cu toate acestea, în cazul în care se utilizează \fB\-q\fP sau \fB\-\^\-quiet\fP sau \fB\-\^\-silent\fP și se selectează o linie, starea de ieșire este 0 chiar dacă a apărut o eroare. . .SH MEDIU Comportamentul lui \fBgrep\fP este afectat de următoarele variabile de mediu. .PP Configurația regională pentru categoria \fBLC_\fP\fIfoo\fP este specificată prin examinarea celor trei variabile de mediu \fBLC_ALL\fP, \fBLC_\fP\fIfoo\fP, \fBLANG\fP, în această ordine. Prima dintre aceste variabile care este definită va determina configurația regională folosită. De exemplu, dacă \fBLC_ALL\fP nu este definită, dar \fBLC_MESSAGES\fP este definită la \fBpt_BR\fP, atunci pentru categoria \fBLC_MESSAGES\fP se utilizează configurația regională portugheză\-braziliană. Se utilizează configurația regională C dacă niciuna dintre aceste variabile de mediu nu este definită, dacă nu este instalat catalogul lingvistic regional sau dacă \fBgrep\fP nu a fost compilat cu suportul pentru limbi naționale (NLS). Comanda de shell \fBlocale \-a\fP enumeră configurațiile regionale care sunt disponibile în prezent. .TP \fBGREP_COLORS\fP Controlează modul în care opțiunea \fB\-\^\-color\fP evidențiază ieșirea. Valoarea sa este o listă de capacități separate prin două puncte care are ca valoare implicită \fBms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36\fP, cu capacitățile booleene \fBrv\fP și \fBne\fP omise (adică false). Capacitățile acceptate sunt următoarele. .RS .TP \fBsl=\fP Subșirul SGR pentru liniile întregi selectate (adică liniile care corespund atunci când opțiunea de linie de comandă \fB\-v\fP este omisă sau liniile care nu corespund atunci când este specificată \fB\-v\fP). Dacă totuși capacitatea booleană \fBrv\fP și opțiunea de linie de comandă \fB\-v\fP sunt ambele specificate, se aplică în schimb liniilor care corespund contextului. Valoarea implicită este goală (adică perechea de culori implicită a terminalului). .TP \fBcx=\fP Subșirul SGR pentru liniile întregi din context (adică liniile care nu corespund atunci când opțiunea de linie de comandă \fB\-v\fP este omisă sau liniile care corespund atunci când este specificată \fB\-v\fP). Cu toate acestea, dacă sunt specificate atât capacitatea booleană \fBrv\fP, cât și opțiunea de linie de comandă \fB\-v\fP, se aplică în schimb liniilor nepotrivite selectate. Valoarea implicită este goală (adică perechea de culori implicită a terminalului). .TP \fBrv\fP Valoare booleană care inversează (schimbă) semnificațiile capacităților \fBsl=\fP și \fBcx=\fP atunci când este specificată opțiunea de linie de comandă \fB\-v\fP. Valoarea implicită este false (adică, capacitatea este omisă). .TP \fBmt=01;31\fP Subșir SGR pentru potrivirea textului nevid în orice linie de potrivire (adică o linie selectată atunci când opțiunea de linie de comandă \fB\-v\fP este omisă sau o linie de context atunci când este specificată \fB\-v\fP). Definirea acestei valori este echivalentă cu definirea atât a \fBms=\fP, cât și a \fBmc=\fP deodată la aceeași valoare. Valoarea implicită este un prim\-plan de text roșu aldin peste fundalul liniei curente. .TP \fBms=01;31\fP Subșir SGR pentru potrivirea textului nevid într\-o linie selectată; (aceasta este utilizată numai atunci când opțiunea de linie de comandă \fB\-v\fP este omisă). Efectul capacității \fBsl=\fP (sau \fBcx=\fP dacă \fBrv\fP) rămâne activ atunci când aceasta intră în acțiune. Valoarea implicită este un prim\-plan de text roșu aldin peste fundalul liniei curente. .TP \fBmc=01;31\fP Subșir SGR pentru potrivirea textului nevid într\-o linie de context; (aceasta este utilizată numai atunci când este specificată opțiunea de linie de comandă \fB\-v\fP). Efectul capacității \fBcx=\fP (sau \fBsl=\fP dacă \fBrv\fP) rămâne activ atunci când aceasta intră în funcțiune. Valoarea implicită este un prim\-plan de text roșu aldin peste fundalul liniei curente. .TP \fBfn=35\fP Subșirul SGR pentru nume de fișiere care prefixează orice linie de conținut. Valoarea implicită este un prim\-plan de text magenta (fucsină, purpuriu) pe fundalul implicit al terminalului. .TP \fBln=32\fP Subșirul SGR pentru numerele de linie care prefixează orice linie de conținut. Valoarea implicită este un prim\-plan de text verde peste fundalul implicit al terminalului. .TP \fBbn=32\fP Subșir SGR pentru decalajele de octeți care prefixează orice linie de conținut. Valoarea implicită este un prim\-plan de text verde peste fundalul implicit al terminalului. .TP \fBse=36\fP Subșirul SGR pentru separatorii care se inserează între câmpurile de linii selectate (\fB:\fP), între câmpurile de linii de context (\fB\-\fP) și între grupurile de linii adiacente atunci când se specifică un context diferit de zero (\fB\-\^\-\fP). Valoarea implicită este un prim\-plan de text cian (azuriu) peste fundalul implicit al terminalului. .TP \fBne\fP Valoare booleană care previne ștergerea până la sfârșitul liniei folosind ștergerea în linie („Erase in Line”: EL) la dreapta (\fB\e33[K\fP) de fiecare dată când se termină un element colorat. Acest lucru este necesar pe terminalele pe care EL nu este admis. În rest, este utilă pe terminalele pentru care nu se aplică capacitatea booleană terminfo \fBback_color_erase\fP (\fBbce\fP), atunci când culorile de evidențiere alese nu afectează fundalul sau când EL este prea lent sau provoacă prea multă pâlpâire. Valoarea implicită este false (adică, capacitatea este omisă). .PP Rețineți că capacitățile booleene nu au partea \fB=\fP.\|.\|.\&. Acestea sunt omise (adică false) în mod implicit și devin adevărate atunci când sunt specificate. .PP Consultați secțiunea Select Graphic Rendition (SGR) din documentația terminalului de text utilizat pentru valorile permise și semnificația acestora ca atribute de caractere. Aceste valori de subșir sunt numere întregi în reprezentare zecimală și pot fi concatenate cu punct și virgulă. \fBgrep\fP se ocupă de asamblarea rezultatului într\-o secvență SGR completă (\fB\e33[\fP.\|.\|.\fBm\fP). Valorile comune de concatenat includ \fB1\fP pentru aldin, \fB4\fP pentru subliniere, \fB5\fP pentru clipire, \fB7\fP pentru invers, \fB39\fP pentru culoarea de prim\-plan implicită, de la \fB30\fP la \fB37\fP pentru culori de prim\-plan, de la \fB90\fP la \fB97\fP pentru culori de prim\-plan în modul 16 culori, de la \fB38;5;0\fP la \fB38;5; 255\fP pentru culorile de prim\-plan în modurile 88 și 256 de culori, \fB49\fP pentru culoarea de fundal implicită, de la \fB40\fP la \fB47\fP pentru culorile de fundal, de la \fB100\fP la \fB107\fP pentru culorile de fundal în modul 16 culori și de la \fB48;5;0\fP la \fB48;5;255\fP pentru culorile de fundal în modurile 88 și 256 de culori. .RE .TP \fBLC_ALL\fP, \fBLC_COLLATE\fP, \fBLANG\fP Aceste variabile specifică configurația regională pentru categoria \fBLC_COLLATE\fP, care determină secvența de colaționare utilizată pentru a interpreta expresii de tip \fB[a\-z]\fP. .TP \fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP Aceste variabile specifică configurația regională pentru categoria \fBLC_CTYPE\fP, care determină tipul de caractere, de exemplu, ce caractere sunt spații albe. Această categorie determină, de asemenea, codificarea caracterelor, adică dacă textul este codificat în UTF\-8, ASCII sau altă codificare. În configurația regională C sau POSIX, toate caracterele sunt codificate ca un singur octet și fiecare octet este un caracter valid. .TP \fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP Aceste variabile specifică configurația regională pentru categoria \fBLC_MESSAGES\fP, care determină limba pe care \fBgrep\fP o utilizează pentru mesaje. În mod implicit, configurația regională C folosește mesaje în limba engleză americană. .TP \fBPOSIXLY_CORRECT\fP Dacă este definită, \fBgrep\fP se comportă așa cum cere POSIX; în caz contrar, \fBgrep\fP se comportă mai mult ca alte programe GNU. POSIX cere ca opțiunile care urmează după numele de fișiere să fie tratate ca nume de fișiere; în mod implicit, astfel de opțiuni sunt permutate în fața listei de operanzi și sunt tratate ca opțiuni. De asemenea, POSIX cere ca opțiunile nerecunoscute să fie diagnosticate ca fiind „ilegale”, dar, deoarece acestea nu sunt cu adevărat împotriva legii, în mod implicit sunt diagnosticate ca fiind „nevalabile”. . .SH NOTE Această pagină de manual este întreținută doar intermitent; documentația completă este adesea mai actualizată. . .SH "DREPTURI DE AUTOR" Drepturi de autor 1998\-2000, 2002, 2005\-2023 Free Software Foundation, Inc. .PP Acesta este software liber; consultați sursa pentru condițiile de copiere. NU există NICIO garanție; nici măcar pentru COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP. . .SH ERORI .SS "Raportarea erorilor" Trimiteți rapoartele de erori prin poșta electronică la adresa de raportare a erorilor .MT bug\-grep@gnu.org .ME . Sunt disponibile o arhivă de corespondență electronică .UR http://lists.gnu.org/mailman/listinfo/bug\-grep și un sistem de urmărire a erorilor .UR http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep .UE . .SS "Erori cunoscute" Un număr mare de repetări în construcția \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP poate face ca \fBgrep\fP să utilizeze foarte multă memorie. În plus, anumite alte expresii regulate obscure necesită timp și spațiu exponențial și pot face ca \fBgrep\fP să rămână fără memorie. .PP Retro\-referințele sunt foarte lente și pot necesita timp exponențial. . .SH EXEMPLU Exemplul următor afișează locația și conținutul oricărei linii care conține „f” și se termină în „c”, în toate fișierele din directorul curent ale căror nume conțin „g” și se termină în „h”. Opțiunea \fB\-n\fP afișează numerele de linie, argumentul \fB\-\-\fP tratează expansiunile lui „g*g*.h” care încep cu „\-” ca nume de fișiere și nu ca opțiuni, iar fișierul gol /dev/null determină afișarea numelor de fișiere chiar dacă un singur nume de fișier are forma „g*.h”. .PP .in +2n .EX $ \fBgrep\fP \-n \-\- 'f.*\e.c$' *g*.h /dev/null argmatch.h:1:/* definiții și prototipuri pentru argmatch.c .EE .in .PP Singura linie care se potrivește este linia 1 din argmatch.h. Rețineți că sintaxa expresiei regulate utilizată în model diferă de sintaxa cu caractere joker pe care shell\-ul o utilizează pentru a potrivi numele de fișiere. . .SH "CONSULTAȚI ȘI" .SS "Paginile de manual" \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 "Documentația completă" Un manual complet este disponibil la adresa .UR http://www.gnu.org/software/grep/manual/ .UE . Dacă programele \fBinfo\fP și \fBgrep\fP sunt instalate corect în sistemul dvs., comanda .IP \fBinfo grep\fP .PP ar trebui să vă permită accesul la manualul complet. . .\" 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 TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR http://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .