GREP(1) Comenzi utilizator GREP(1) NUME grep - afieaza liniile care se potrivesc cu modelele SINOPSIS grep [OPIUNE...] MODELE [FIIER...] grep [OPIUNE...] -e MODELE ... [FIIER...] grep [OPIUNE...] -f FIIER_MODEL ... [FIIER...] DESCRIERE grep cauta MODELE in fiecare FIIER. MODELE reprezinta unul sau mai multe modele separate prin caractere de linie noua, iar grep afieaza fiecare linie care corespunde unui model. De obicei, MODELELE trebuie sa fie citate atunci cand grep este utilizat intr-o comanda shell. Un FIIER de tipul ,,-"reprezinta intrarea standard. Daca nu se indica niciun FIIER, cautarile recursive examineaza directorul de lucru, iar cautarile nerecursive citesc intrarea standard. OPIUNI Informaii generice despre program --help Afieaza un scurt mesaj de utilizare i iese. -V, --version Afieaza numarul de versiune al lui grep i iese. Sintaxa model -E, --extended-regexp Interpreteaza MODELELE ca expresii regulate extinse (ERE-uri, a se vedea mai jos). -F, --fixed-strings Interpreteaza MODELELE ca iruri fixe, nu ca expresii regulate. -G, --basic-regexp Interpretai MODELELE ca expresii regulate de baza (ERB-uri, a se vedea mai jos). Aceasta este valoarea implicita. -P, --perl-regexp Interpreteaza MODELELE ca expresii regulate compatibile cu Perl (PCRE). Aceasta opiune este experimentala atunci cand este combinata cu opiunea -z (--null-data), iar grep -P poate avertiza cu privire la caracteristicile neimplementate. Controlare potrivire -e MODELE, --regexp=MODELE Utilizeaza MODELE ca modele. Daca aceasta opiune este utilizata de mai multe ori sau este combinata cu opiunea -f (--file), se cauta toate modelele date. Aceasta opiune poate fi utilizata pentru a proteja un model care incepe cu ,,-". -f FIIER, --file=FIIER Obine modele din FIIER, unul pe linie. Daca aceasta opiune este utilizata de mai multe ori sau este combinata cu opiunea -e (--regexp), se cauta toate modelele date. Fiierul gol conine zero modele i, prin urmare, nu se potrivete cu nimic. Daca FIIERUL este - , se citesc modelele de la intrarea standard. -i, --ignore-case Ignora diferenele dintre majuscule i minuscule din modele i datele de intrare, astfel incat caracterele care difera doar prin majuscule sa se potriveasca intre ele. --no-ignore-case Nu ignora diferenele dintre majuscule i minuscule in modele i in datele de intrare. Aceasta este valoarea implicita. Aceasta opiune este utila pentru a fi transmisa scripturilor shell care utilizeaza deja -i, pentru a anula efectele acesteia, deoarece cele doua opiuni se substituie reciproc. -v, --invert-match Inverseaza sensul de potrivire, pentru a selecta liniile care nu se potrivesc. -w, --word-regexp Selecteaza numai acele linii care conin corespondene care formeaza cuvinte intregi. Testul consta in faptul ca subirul care corespunde trebuie sa se afle la inceputul liniei sau sa fie precedat de un caracter constitutiv care nu este un cuvant. In mod similar, trebuie sa se afle fie la sfaritul liniei, fie sa fie urmat de un caracter constitutiv care nu este un cuvant. Caracterele constitutive de cuvant sunt litere, cifre i liniue de subliniere. Aceasta opiune nu are niciun efect daca se specifica i -x. -x, --line-regexp Selecteaza numai acele corespondene care corespund exact intregii linii. Pentru un model de expresie regulata, acest lucru este ca i cum ai pune in paranteze modelul i apoi l-ai incadra cu ^ i $. Controlul general al ieirii -c, --count Elimina ieirea normala; in schimb, afieaza un numar de linii corespunzatoare pentru fiecare fiier de intrare. Cu opiunea -v, --invert-match (a se vedea mai sus), numara liniile care nu corespund. --color[=CAND], --colour[=CAND] Inconjoara irurile de caractere (nevide), liniile potrivite, liniile de context, numele fiierelor, numerele de linie, decalajele de octei i separatorii (pentru campuri i grupuri de linii de context) cu secvene de eludare pentru a le afia in culori pe terminal. Culorile sunt definite de variabila de mediu GREP_COLORS. CAND este never (niciodata), always (intotdeauna) sau auto. -L, --files-without-match Suprima ieirea normala; in schimb, afieaza numele fiecarui fiier de intrare din care in mod normal nu ar fi fost afiata nicio ieire. -l, --files-with-matches Suprima ieirea normala; in schimb, afieaza numele fiecarui fiier de intrare din care ar fi fost afiata in mod normal ieirea. Scanarea fiecarui fiier de intrare se oprete la prima potrivire. -m NUMAR, --max-count=NUMAR Oprete citirea unui fiier dupa NUMAR linii potrivite. Daca NUMAR este zero, grep se oprete imediat fara a citi datele de intrare. Un NUMAR de -1 este tratat ca infinit i grep nu se oprete; aceasta este valoarea implicita. In cazul in care intrarea este o intrare standard dintr-un fiier obinuit i NUMAR linii care se potrivesc sunt afiate, grep se asigura ca intrarea standard este poziionata imediat dupa ultima linie de corespondena inainte de a iei, indiferent de prezena liniilor de context la sfarit. Acest lucru permite unui proces de apelare sa reia o cautare. Atunci cand grep se oprete dupa NUMAR linii de potrivire, acesta afieaza orice linii de context care urmeaza. Atunci cand se utilizeaza i opiunea -c sau --count, grep nu afieaza un numar mai mare decat NUMAR. Atunci cand se utilizeaza i opiunea -v sau --invert-match, grep se oprete dupa ce a afiat NUMAR linii care nu se potrivesc. -o, --only-matching Afieaza numai parile care se potrivesc (i care nu sunt goale) dintr-o linie de potrivire, fiecare parte fiind pe o linie de ieire separata. -q, --quiet, --silent Silenios; nu scrie nimic la ieirea standard. Iese imediat cu starea zero daca se gasete vreo potrivire, chiar daca a fost detectata o eroare. A se vedea, de asemenea, opiunea -s sau --no-messages. -s, --no-messages Suprima mesajele de eroare privind fiierele inexistente sau care nu pot fi citite. Controlul prefixului liniei de ieire -b, --byte-offset Afieaza decalajul de octei (incepand de la octetul 0) in fiierul de intrare inainte de fiecare linie de ieire. Daca este specificat -o (--only-matching), se afieaza decalajul parii de potrivire in sine. -H, --with-filename Afieaza numele fiierului pentru fiecare potrivire. Aceasta este opiunea implicita atunci cand exista mai multe fiiere de cautat. Aceasta este o extensie GNU. -h, --no-filename Suprima prefixarea numelor de fiiere la ieire. Aceasta este valoarea implicita atunci cand exista un singur fiier (sau doar intrarea standard) de cautat. --label=ETICHETA Afieaza intrarea care provine de fapt de la intrarea standard ca intrare provenind din fiierul ETICHETA. Acest lucru poate fi util pentru comenzile care transforma coninutul unui fiier inainte de cautare, de exemplu, <>. A se vedea, de asemenea, opiunea -H. -n, --line-number Prefixeaza fiecare linie de ieire cu numarul de linie (incepand de la 1) din fiierul de intrare. -T, --initial-tab Se asigura ca primul caracter al coninutului propriu-zis al liniei se afla pe o tabulaie, astfel incat alinierea tabulaiilor sa aiba un aspect normal. Acest lucru este util in cazul opiunilor care ii prefixeaza ieirea faa de coninutul real: -H,-n, i -b. Pentru a imbunatai probabilitatea ca liniile dintr-un singur fiier sa inceapa toate la aceeai coloana, acest lucru face, de asemenea, ca numarul liniei i decalajul de octei (daca este prezent) sa fie afiate intr-o laime de camp de dimensiune minima. -Z, --null Afieaza un octet zero (caracterul ASCII NUL) in locul caracterului care urmeaza in mod normal dupa un nume de fiier. De exemplu, grep -lZ genereaza un octet zero dupa fiecare nume de fiier, in loc de linia noua obinuita. Aceasta opiune face ca ieirea sa fie lipsita de ambiguitate, chiar i in prezena numelor de fiiere care conin caractere neobinuite, cum ar fi liniile noi. Aceasta opiune poate fi utilizata impreuna cu comenzi precum find -print0, perl -0, sort -z i xargs -0 pentru a procesa nume de fiiere arbitrare, chiar i cele care conin caractere de linie noua. Controlul liniei contextuale -A NUMAR, --after-context=NUMAR Afieaza NUMAR linii de context dupa liniile care se potrivesc. Plaseaza o linie care conine un separator de grup (--) intre grupurile contigue de corespondene. In cazul opiunii -o sau -^-only-matching, acest lucru nu are niciun efect i se emite un avertisment. -B NUMAR, --before-context=NUMAR Afieaza NUMAR linii de context inainte de liniile care se potrivesc. Plaseaza o linie care conine un separator de grup (--) intre grupurile contigue de corespondene. In cazul opiunii -o sau -^-only-matching, acest lucru nu are niciun efect i se emite un avertisment. -C NUM, -NUMAR, --context=NUMAR Afieaza NUMAR linii de context de ieire. Plaseaza o linie care conine un separator de grup (--) intre grupurile contigue de potriviri. In cazul opiunii -o sau -^-only-matching, acest lucru nu are niciun efect i se emite un avertisment. --group-separator=SEPARATOR Atunci cand se utilizeaza -A, -B sau -C, imprima SEPARATOR in loc de -- intre grupurile de linii. --no-group-separator Atunci cand se utilizeaza -A, -B sau -C, nu imprima un separator intre grupurile de linii. Selectarea fiierelor i directoarelor -a, --text Proceseaza un fiier binar ca i cum ar fi text; aceasta este echivalenta cu opiunea --binary-files=text. --binary-files=TIP In cazul in care datele sau metadatele unui fiier indica faptul ca fiierul conine date binare, se presupune ca fiierul este de tip TIP. Octeii care nu sunt text indica date binare; acetia sunt fie octei de ieire care sunt codificai in mod necorespunzator pentru regiunea curenta, fie octei de intrare nuli atunci cand nu este furnizata opiunea -z. In mod implicit, TIP este binary, iar grep suprima ieirea dupa ce se descopera date binare de intrare nule i suprima liniile de ieire care conin date codificate necorespunzator. Atunci cand unele ieiri sunt suprimate, grep urmeaza orice ieire cu un mesaj la ieirea de eroare standard care informeaza ca un fiier binar corespunde. Daca TIP este without-match, atunci cand grep descopera date binare de intrare nule, presupune ca restul fiierului nu se potrivete; acest lucru este echivalent cu opiunea -I. Daca TIP este text, grep proceseaza un fiier binar ca i cum ar fi text; acest lucru este echivalent cu opiunea -a. Cand tip este binary, grep poate trata octeii care nu sunt text ca terminatori de linie chiar i fara opiunea -z. Aceasta inseamna ca alegerea binary faa de text poate afecta daca un model se potrivete cu un fiier. De exemplu, atunci cand tip este binary, modelul q$ ar putea sa se potriveasca cu q urmat imediat de un octet nul, chiar daca acesta nu se potrivete atunci cand tip este text. In schimb, atunci cand tip este binar, este posibil ca modelul . (punct) sa nu se potriveasca cu un octet nul. Atenie: Opiunea -a ar putea afia deeuri binare, ceea ce poate avea efecte secundare neplacute daca ieirea este un terminal i daca controlorul terminalului interpreteaza o parte din ele ca fiind comenzi. Pe de alta parte, atunci cand se citesc fiiere ale caror codificari de text sunt necunoscute, poate fi util sa se utilizeze -a sau sa definii LC_ALL='C' in mediu, pentru a gasi mai multe corespondene, chiar daca acestea nu sunt sigure pentru afiarea directa. -D ACIUNE, --devices=ACIUNE Daca un fiier de intrare este un dispozitiv, FIFO sau soclu, utilizai ACIUNE pentru a-l procesa. In mod implicit, ACIUNEA este read, ceea ce inseamna ca dispozitivele sunt citite ca i cum ar fi fiiere obinuite. Daca ACIUNEA este skip, dispozitivele sunt omise in mod silenios. -d ACIUNE, --directories=ACIUNE Daca un fiier de intrare este un director, utilizai ACIUNE pentru a-l procesa. In mod implicit, ACIUNEA este read, adica citete directoarele ca i cum ar fi fiiere obinuite. Daca ACIUNEA este skip, se omit silenios directoarele. Daca ACIUNEA este recurse, se citesc toate fiierele din fiecare director, in mod recursiv, urmand legaturile simbolice numai daca acestea se afla in linia de comanda. Aceasta este echivalenta cu opiunea -r. --exclude=GLOBAL Ignora orice fiier din linia de comanda cu un sufix de nume care se potrivete cu modelul GLOBAL, folosind caractere joker; un sufix de nume este fie intregul nume, fie o parte din urma care incepe cu un caracter care nu este o bara oblica imediat dupa o bara oblica (/) in nume. Atunci cand se efectueaza o cautare recursiva, se sare peste orice subfiier al carui nume de baza se potrivete cu GLOBAL; numele de baza este partea de dupa ultima bara oblica. Un model poate folosi *, ? i [...] drept caractere joker, iar \ pentru a cita literal un caracter joker sau o bara oblica inversa. --exclude-from=FIIER Omite fiierele al caror nume de baza se potrivete cu oricare dintre modelele globale de nume de fiiere citite din FIIER (utilizand potrivirea cu caractere joker, aa cum este descris la --exclude). --exclude-dir=GLOBAL Omite orice director din linia de comanda cu un sufix de nume care se potrivete cu modelul GLOBAL. In cazul cautarii recursive, se omite orice subdirector al carui nume de baza se potrivete cu GLOBAL. Ignora orice bara oblica redundanta din GLOBAL. -I Proceseaza un fiier binar ca i cum nu ar conine potriviri de date; acest lucru este echivalent cu opiunea --binary-files=without-match. --include=GLOBAL Cauta numai fiierele al caror nume de baza se potrivete cu GLOBAL (folosind caractere joker de potrivire aa cum este descris la --exclude). In cazul in care sunt date opiuni contradictorii --include i --exclude, ultima opiune care se potrivete catiga. Daca nici o opiune --include sau --exclude nu se potrivete, un fiier este inclus, cu excepia cazului in care prima opiune de acest tip este --include. -r, --recursive Citete toate fiierele din fiecare director, in mod recursiv, urmarind legaturile simbolice numai daca acestea se afla in linia de comanda. Reinei ca, daca nu se indica un operand de fiier, grep cauta in directorul de lucru. Acest lucru este echivalent cu opiunea -d recurse. -R, --dereference-recursive Citete toate fiierele din fiecare director, in mod recursiv. Urmarete toate legaturile simbolice, spre deosebire de -r. Alte opiuni --line-buffered Utilizeaza memoria tampon de linie la ieire. Acest lucru poate cauza o penalizare a performanei. -U, --binary Trateaza fiierul (fiierele) ca fiind binar(e). In mod implicit, in MS-DOS i MS-Windows, grep ghicete daca un fiier este text sau binar, aa cum este descris pentru opiunea --binary-files. Daca grep decide ca fiierul este un fiier text, elimina caracterele CR din coninutul original al fiierului (pentru ca expresiile regulate cu ^ i $ sa funcioneze corect). Specificarea -U anuleaza aceasta presupunere, facand ca toate fiierele sa fie citite i transmise mecanismului de potrivire textual; daca fiierul este un fiier text cu perechi CR/LF la sfaritul fiecarei linii, acest lucru va face ca unele expresii regulate sa eueze. Aceasta opiune nu are niciun efect pe alte platforme decat MS-DOS i MS-Windows. -z, --null-data Trateaza datele de intrare i de ieire ca secvene de linii, fiecare terminata cu un octet zero (caracterul ASCII NUL) in loc de o linie noua. Ca i opiunea -Z sau --null, aceasta opiune poate fi utilizata cu comenzi precum sort -z pentru a procesa nume de fiiere arbitrare. EXPRESII REGULATE O expresie regulata este un model care descrie un set de iruri de caractere. Expresiile regulate se construiesc in mod analog cu expresiile aritmetice, prin utilizarea diferiilor operatori pentru a combina expresii mai mici. grep inelege trei versiuni diferite de sintaxa a expresiilor regulate: ,,bazic" (ERB), ,,extins" (ERE) i ,,perl" (PCRE). In GNU grep, expresiile regulate de baza i cele extinse sunt doar notaii diferite pentru aceeai funcionalitate de potrivire a modelelor. In alte implementari, expresiile regulate de baza sunt in mod normal mai puin puternice decat cele extinse, dei, ocazional, este invers. Urmatoarea descriere se aplica expresiilor regulate extinse; diferenele pentru expresiile regulate de baza sunt rezumate ulterior. Expresiile regulate compatibile cu Perl au o funcionalitate diferita i sunt documentate in pcre2syntax(3) i pcre2pattern(3), dar funcioneaza numai daca este activat suportul PCRE. Blocurile de construcie 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 semnificaie speciala poate fi citat prin precedarea lui cu o bara oblica inversa. Punctul . se potrivete cu orice caracter unic. Nu este specificat daca se potrivete cu o eroare de codificare. Clase de caractere i expresii intre paranteze O expresie intre paranteze este o lista de caractere cuprinsa intre [ i ]. Se potrivete cu orice caracter din lista respectiva. Daca primul caracter din lista este caracterul ^, atunci se potrivete cu orice caracter care nu este in lista; nu este specificat daca se potrivete cu o eroare de codificare. De exemplu, expresia regulata [0123456789] se potrivete cu orice cifra unica. In cadrul unei expresii intre paranteze, o expresie expresie de interval este formata din doua caractere separate prin cratima. Aceasta se potrivete cu orice caracter unic care se afla intre cele doua caractere, inclusiv, folosind secvena de colaionare i setul de caractere din configuraia regionala. De exemplu, in configuraia regionala implicita C, [a-d] este echivalent cu [abcd]. Multe configuraii regionale sorteaza caracterele in ordinea in care se face intr-un dicionar, iar in aceste configuraii regionale [a-d] nu este de obicei echivalent cu [abcd]; ar putea fi echivalent cu [aBbCcDd], de exemplu. Pentru a obine interpretarea tradiionala a expresiilor intre paranteze, putei utiliza configuraia regionala C prin definirea variabilei de mediu LC_ALL la valoarea C. De asemenea, anumite clase de caractere sunt predefinite in cadrul expresiilor intre paranteze, dupa cum urmeaza. Numele lor sunt autoexplicative i sunt [:alnum:] (alfanumerice), [:alpha:] (alfabetice), [:blank:] (spaii i tabulatoare), [:cntrl:] (caractere de control), [:digit:] (cifre), [:graph:] (caractere vizibile), [:lower:] (minuscule), [:print:] (caractere imprimabile), [:punct:] (caractere de punctuaie), [:space:] (spaii in alb), [:upper:] (majuscule) i [:xdigit:]. De exemplu, [[:alnum:]] inseamna clasa de caractere a numerelor i literelor din configuraia regionala curenta. In configuraia regionala C i in codificarea setului de caractere ASCII, aceasta este aceeai cu [0-9A-Za-z]. Reinei ca parantezele din aceste nume de clase fac parte din numele simbolice i trebuie incluse in plus faa de parantezele care delimiteaza expresia de paranteze. Majoritatea metacaracterelor ii pierd semnificaia speciala in interiorul expresiilor intre paranteze. Pentru a include un literal ], plasai-l primul in lista. In mod similar, pentru a include un literal ^ plasai-l oriunde, dar nu primul. In cele din urma, pentru a include un literal -, plasai-l ultimul. Ancorarea Accentul circumflex ^ i semnul de dolar $ sunt metacaractere care se potrivesc cu irul gol la inceputul i, respectiv, la sfaritul unei linii. Caracterul de bara oblica inversa i expresiile speciale Simbolurile \< i \> corespund irului gol la inceputul i, respectiv, la sfaritul unui cuvant. Simbolul \b corespunde irului gol la marginea unui cuvant, iar \B corespunde irului gol, cu condiia ca acesta sa nu fie la marginea unui cuvant. Simbolul \w este un sinonim pentru [_[:alnum:]], iar \W este un sinonim pentru [^_[:alnum:]]. Repetiia O expresie regulata poate fi urmata de unul dintre mai muli operatori de repetiie: ? Elementul precedent este opional i se potrivete cel mult o data. * Elementul precedent se va potrivi de zero sau mai multe ori. + Elementul precedent se va potrivi de una sau mai multe ori. {n} Elementul precedent se potrivete exact de n ori. {n,} Elementul precedent se potrivete de n sau mai multe ori. {,m} Elementul precedent se potrivete de cel mult m ori. Aceasta este o extensie GNU. {n,m} Elementul precedent se potrivete de cel puin n ori, dar nu mai mult de m ori. Concatenarea Doua expresii regulate pot fi concatenate; expresia regulata rezultata se potrivete cu orice ir format prin concatenarea a doua subiruri care se potrivesc cu expresiile concatenate. Alternative Doua expresii regulate pot fi unite prin operatorul infix |; expresia regulata rezultata se potrivete cu orice ir de caractere care se potrivete cu oricare dintre cele doua expresii (expresii alternative). Precedena Repetiia are prioritate faa de concatenare, care, la randul ei, are prioritate faa de alternare. O expresie intreaga poate fi inclusa intre paranteze pentru a anula aceste reguli de precedena i a forma o subexpresie. Retro-referine i subexpresii The back-reference \n , where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression. Expresii regulate de baza vs Expresii regulate extinse In expresiile regulate de baza, metacaracterele ?, +, {, |, ( i ) ii pierd semnificaia speciala; in schimb, se folosesc versiunile cu bara oblica inversa \?, \+, \{, \|, \( i \). STARE DE IEIRE In mod normal, starea de ieire este 0 daca este selectata o linie, 1 daca nu a fost selectata nicio linie i 2 daca s-a produs o eroare. Cu toate acestea, in cazul in care se utilizeaza -q sau --quiet sau --silent i se selecteaza o linie, starea de ieire este 0 chiar daca a aparut o eroare. MEDIU Comportamentul lui grep este afectat de urmatoarele variabile de mediu. Configuraia regionala pentru categoria LC_foo este specificata prin examinarea celor trei variabile de mediu LC_ALL, LC_foo, LANG, in aceasta ordine. Prima dintre aceste variabile care este definita va determina configuraia regionala folosita. De exemplu, daca LC_ALL nu este definita, dar LC_MESSAGES este definita la pt_BR, atunci pentru categoria LC_MESSAGES se utilizeaza configuraia regionala portugheza-braziliana. Se utilizeaza configuraia regionala C daca niciuna dintre aceste variabile de mediu nu este definita, daca nu este instalat catalogul lingvistic regional sau daca grep nu a fost compilat cu suportul pentru limbi naionale (NLS). Comanda de shell locale -a enumera configuraiile regionale care sunt disponibile in prezent. GREP_COLORS Controleaza modul in care opiunea --color evideniaza ieirea. Valoarea sa este o lista de capacitai separate prin doua puncte care are ca valoare implicita ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36, cu capacitaile booleene rv i ne omise (adica false). Capacitaile acceptate sunt urmatoarele. sl= Subirul SGR pentru liniile intregi selectate (adica liniile care corespund atunci cand opiunea de linie de comanda -v este omisa sau liniile care nu corespund atunci cand este specificata -v). Daca totui capacitatea booleana rv i opiunea de linie de comanda -v sunt ambele specificate, se aplica in schimb liniilor care corespund contextului. Valoarea implicita este goala (adica perechea de culori implicita a terminalului). cx= Subirul SGR pentru liniile intregi din context (adica liniile care nu corespund atunci cand opiunea de linie de comanda -v este omisa sau liniile care corespund atunci cand este specificata -v). Cu toate acestea, daca sunt specificate atat capacitatea booleana rv, cat i opiunea de linie de comanda -v, se aplica in schimb liniilor nepotrivite selectate. Valoarea implicita este goala (adica perechea de culori implicita a terminalului). rv Valoare booleana care inverseaza (schimba) semnificaiile capacitailor sl= i cx= atunci cand este specificata opiunea de linie de comanda -v. Valoarea implicita este false (adica, capacitatea este omisa). mt=01;31 Subir SGR pentru potrivirea textului nevid in orice linie de potrivire (adica o linie selectata atunci cand opiunea de linie de comanda -v este omisa sau o linie de context atunci cand este specificata -v). Definirea acestei valori este echivalenta cu definirea atat a ms=, cat i a mc= deodata la aceeai valoare. Valoarea implicita este un prim-plan de text rou aldin peste fundalul liniei curente. ms=01;31 Subir SGR pentru potrivirea textului nevid intr-o linie selectata; (aceasta este utilizata numai atunci cand opiunea de linie de comanda -v este omisa). Efectul capacitaii sl= (sau cx= daca rv) ramane activ atunci cand aceasta intra in aciune. Valoarea implicita este un prim-plan de text rou aldin peste fundalul liniei curente. mc=01;31 Subir SGR pentru potrivirea textului nevid intr-o linie de context; (aceasta este utilizata numai atunci cand este specificata opiunea de linie de comanda -v). Efectul capacitaii cx= (sau sl= daca rv) ramane activ atunci cand aceasta intra in funciune. Valoarea implicita este un prim-plan de text rou aldin peste fundalul liniei curente. fn=35 Subirul SGR pentru nume de fiiere care prefixeaza orice linie de coninut. Valoarea implicita este un prim-plan de text magenta (fucsina, purpuriu) pe fundalul implicit al terminalului. ln=32 Subirul SGR pentru numerele de linie care prefixeaza orice linie de coninut. Valoarea implicita este un prim-plan de text verde peste fundalul implicit al terminalului. bn=32 Subir SGR pentru decalajele de octei care prefixeaza orice linie de coninut. Valoarea implicita este un prim-plan de text verde peste fundalul implicit al terminalului. se=36 Subirul SGR pentru separatorii care se insereaza intre campurile de linii selectate (:), intre campurile de linii de context (-) i intre grupurile de linii adiacente atunci cand se specifica un context diferit de zero (--). Valoarea implicita este un prim-plan de text cian (azuriu) peste fundalul implicit al terminalului. ne Valoare booleana care previne tergerea pana la sfaritul liniei folosind tergerea in linie (,,Erase in Line": EL) la dreapta (\33[K) de fiecare data cand se termina un element colorat. Acest lucru este necesar pe terminalele pe care EL nu este admis. In rest, este utila pe terminalele pentru care nu se aplica capacitatea booleana terminfo back_color_erase (bce), atunci cand culorile de evideniere alese nu afecteaza fundalul sau cand EL este prea lent sau provoaca prea multa palpaire. Valoarea implicita este false (adica, capacitatea este omisa). Reinei ca capacitaile booleene nu au partea =.... Acestea sunt omise (adica false) in mod implicit i devin adevarate atunci cand sunt specificate. Consultai seciunea Select Graphic Rendition (SGR) din documentaia terminalului de text utilizat pentru valorile permise i semnificaia acestora ca atribute de caractere. Aceste valori de subir sunt numere intregi in reprezentare zecimala i pot fi concatenate cu punct i virgula. grep se ocupa de asamblarea rezultatului intr-o secvena SGR completa (\33[...m). Valorile comune de concatenat includ 1 pentru aldin, 4 pentru subliniere, 5 pentru clipire, 7 pentru invers, 39 pentru culoarea de prim-plan implicita, de la 30 la 37 pentru culori de prim-plan, de la 90 la 97 pentru culori de prim-plan in modul 16 culori, de la 38;5;0 la 38;5; 255 pentru culorile de prim-plan in modurile 88 i 256 de culori, 49 pentru culoarea de fundal implicita, de la 40 la 47 pentru culorile de fundal, de la 100 la 107 pentru culorile de fundal in modul 16 culori i de la 48;5;0 la 48;5;255 pentru culorile de fundal in modurile 88 i 256 de culori. LC_ALL, LC_COLLATE, LANG Aceste variabile specifica configuraia regionala pentru categoria LC_COLLATE, care determina secvena de colaionare utilizata pentru a interpreta expresii de tip [a-z]. LC_ALL, LC_CTYPE, LANG Aceste variabile specifica configuraia regionala pentru categoria LC_CTYPE, care determina tipul de caractere, de exemplu, ce caractere sunt spaii albe. Aceasta categorie determina, de asemenea, codificarea caracterelor, adica daca textul este codificat in UTF-8, ASCII sau alta codificare. In configuraia regionala C sau POSIX, toate caracterele sunt codificate ca un singur octet i fiecare octet este un caracter valid. LC_ALL, LC_MESSAGES, LANG Aceste variabile specifica configuraia regionala pentru categoria LC_MESSAGES, care determina limba pe care grep o utilizeaza pentru mesaje. In mod implicit, configuraia regionala C folosete mesaje in limba engleza americana. POSIXLY_CORRECT Daca este definita, grep se comporta aa cum cere POSIX; in caz contrar, grep se comporta mai mult ca alte programe GNU. POSIX cere ca opiunile care urmeaza dupa numele de fiiere sa fie tratate ca nume de fiiere; in mod implicit, astfel de opiuni sunt permutate in faa listei de operanzi i sunt tratate ca opiuni. De asemenea, POSIX cere ca opiunile nerecunoscute sa fie diagnosticate ca fiind ,,ilegale", dar, deoarece acestea nu sunt cu adevarat impotriva legii, in mod implicit sunt diagnosticate ca fiind ,,nevalabile". NOTE Aceasta pagina de manual este intreinuta doar intermitent; documentaia completa este adesea mai actualizata. DREPTURI DE AUTOR Drepturi de autor 1998-2000, 2002, 2005-2023 Free Software Foundation, Inc. Acesta este software liber; consultai sursa pentru condiiile de copiere. NU exista NICIO garanie; nici macar pentru COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP. ERORI Raportarea erorilor Trimitei rapoartele de erori prin pota electronica la adresa de raportare a erorilor corespondena electronica i un sistem de urmarire a erorilor Erori cunoscute Un numar mare de repetari in construcia {n,m} poate face ca grep sa utilizeze foarte multa memorie. In plus, anumite alte expresii regulate obscure necesita timp i spaiu exponenial i pot face ca grep sa ramana fara memorie. Retro-referinele sunt foarte lente i pot necesita timp exponenial. EXEMPLU Exemplul urmator afieaza locaia i coninutul oricarei linii care conine ,,f" i se termina in ,,c", in toate fiierele din directorul curent ale caror nume conin ,,g" i se termina in ,,h". Opiunea -n afieaza numerele de linie, argumentul -- trateaza expansiunile lui ,,g*g*.h" care incep cu ,,-" ca nume de fiiere i nu ca opiuni, iar fiierul gol /dev/null determina afiarea numelor de fiiere chiar daca un singur nume de fiier are forma ,,g*.h". $ grep -n -- 'f.*\.c$' *g*.h /dev/null argmatch.h:1:/* definiii i prototipuri pentru argmatch.c Singura linie care se potrivete este linia 1 din argmatch.h. Reinei ca sintaxa expresiei regulate utilizata in model difera de sintaxa cu caractere joker pe care shell-ul o utilizeaza pentru a potrivi numele de fiiere. CONSULTAI I Paginile de manual 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) Documentaia completa Un manual complet este disponibil la adresa i grep sunt instalate corect in sistemul dvs., comanda info grep ar trebui sa va permita accesul la manualul complet. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . GNU grep 3.11 2019-12-29 GREP(1)