Provided by: manpages-ro_4.27.0-1_all bug

NUME

       grep, egrep, fgrep, rgrep - afișează liniile care se potrivesc cu modelele

SINOPSIS

       grep [OPȚIUNE...] MODELE [FIȘIER...]
       grep [OPȚIUNE...] -e MODELE ... [FIȘIER...]
       grep [OPȚIUNE...] -f FIȘIER_MODEL ... [FIȘIER...]

DESCRIERE

       grep  caută MODELE în fiecare FIȘIER. MODELE reprezintă unul sau mai multe modele separate prin caractere
       de linie nouă, iar grep afișează fiecare linie care corespunde unui model. De obicei, MODELELE trebuie să
       fie citate atunci când grep este utilizat într-o comandă shell.

       Un FIȘIER de tipul „-”reprezintă intrarea standard. Dacă nu se indică niciun FIȘIER, căutările  recursive
       examinează directorul de lucru, iar căutările nerecursive citesc intrarea standard.

       Debian  include, de asemenea, programele variante egrep, fgrep și rgrep. Aceste programe sunt identice cu
       grep -E, grep -F și, respectiv, grep -r. Aceste variante sunt depreciate  în  amonte  (în  sursa  codului
       oferită  de  dezvoltatorii  «grep»),  dar  Debian  asigură  compatibilitatea  cu  trecutul. Din motive de
       portabilitate, se recomandă evitarea programelor variante și utilizarea în  schimb  a  grep  cu  opțiunea
       aferentă.

OPȚIUNI

   Informații generice despre program
       --help Afișează un scurt mesaj de utilizare și iese.

       -V, --version
              Afișează numărul de versiune al lui grep și iese.

   Sintaxă model
       -E, --extended-regexp
              Interpretează MODELELE ca expresii regulate extinse (ERE-uri, a se vedea mai jos).

       -F, --fixed-strings
              Interpretează MODELELE ca șiruri fixe, nu ca expresii regulate.

       -G, --basic-regexp
              Interpretați  MODELELE  ca  expresii  regulate de bază (ERB-uri, a se vedea mai jos). Aceasta este
              valoarea implicită.

       -P, --perl-regexp
              Interpretează MODELELE ca expresii regulate compatibile  cu  Perl  (PCRE).  Această  opțiune  este
              experimentală  atunci când este combinată cu opțiunea -z (--null-data), iar grep -P poate avertiza
              cu privire la caracteristicile neimplementate.

   Controlare potrivire
       -e MODELE, --regexp=MODELE
              Utilizează MODELE ca modele. Dacă această opțiune  este  utilizată  de  mai  multe  ori  sau  este
              combinată  cu  opțiunea  -f  (--file),  se  caută  toate  modelele  date. Această opțiune poate fi
              utilizată pentru a proteja un model care începe cu „-”.

       -f FIȘIER, --file=FIȘIER
              Obține modele din FIȘIER, unul pe linie. Dacă această opțiune este utilizată de mai multe ori  sau
              este  combinată cu opțiunea -e (--regexp), se caută toate modelele date. Fișierul gol conține zero
              modele și, prin urmare, nu se potrivește cu nimic. Dacă FIȘIERUL este - , se citesc modelele de la
              intrarea standard.

       -i, --ignore-case
              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.

       --no-ignore-case
              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  -i,  pentru  a anula efectele acesteia, deoarece cele două opțiuni se substituie
              reciproc.

       -v, --invert-match
              Inversează sensul de potrivire, pentru a selecta liniile care nu se potrivesc.

       -w, --word-regexp
              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 -x.

       -x, --line-regexp
              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
              ^ și $.

   Controlul general al ieșirii
       -c, --count
              Elimină  ieșirea  normală;  în  schimb,  afișează un număr de linii corespunzătoare pentru fiecare
              fișier de intrare. Cu opțiunea -v, --invert-match (a se vedea mai sus),  numără  liniile  care  nu
              corespund.

       --color[=CÂND], --colour[=CÂND]
              Î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 GREP_COLORS. CÂND este never (niciodată), always (întotdeauna)  sau
              auto.

       -L, --files-without-match
              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.

       -l, --files-with-matches
              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.

       -m NUMĂR, --max-count=NUMĂR
              Oprește citirea unui fișier după NUMĂR linii potrivite. Dacă NUMĂR  este  zero,  grep  se  oprește
              imediat  fără  a  citi  datele  de  intrare.  Un  NUMĂR de -1 este tratat ca infinit și grep nu se
              oprește; aceasta este valoarea implicită. În cazul  în  care  intrarea  este  o  intrare  standard
              dintr-un  fișier  obișnuit  și  NUMĂR  linii  care  se  potrivesc sunt afișate, grep 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 grep se oprește după NUMĂR  linii  de  potrivire,  acesta  afișează
              orice linii de context care urmează. Atunci când se utilizează și opțiunea -c sau --count, grep nu
              afișează  un  număr  mai  mare  decât  NUMĂR.  Atunci  când  se  utilizează  și  opțiunea  -v  sau
              --invert-match, grep se oprește după ce a afișat NUMĂR linii care nu se potrivesc.

       -o, --only-matching
              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ă.

       -q, --quiet, --silent
              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  -s  sau
              --no-messages.

       -s, --no-messages
              Suprimă mesajele de eroare privind fișierele inexistente sau care nu pot fi citite.

   Controlul prefixului liniei de ieșire
       -b, --byte-offset
              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  -o  (--only-matching),  se  afișează  decalajul  părții  de
              potrivire în sine.

       -H, --with-filename
              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.

       -h, --no-filename
              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.

       --label=ETICHETA
              Afișează  intrarea  care provine de fapt de la intrarea standard ca intrare provenind din fișierul
              ETICHETA. Acest lucru poate fi util  pentru  comenzile  care  transformă  conținutul  unui  fișier
              înainte de căutare, de exemplu, «gzip -cd foo.gz | grep --label=foo -H 'vreun-model'». A se vedea,
              de asemenea, opțiunea -H.

       -n, --line-number
              Prefixează fiecare linie de ieșire cu numărul de linie (începând de la 1) din fișierul de intrare.

       -T, --initial-tab
              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:  -H,-n,  și  -b.  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ă.

       -Z, --null
              Afișează  un  octet  zero  (caracterul ASCII NUL) în locul caracterului care urmează în mod normal
              după un nume de fișier. De exemplu, grep -lZ 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 find -print0, perl -0, sort -z și
              xargs -0 pentru a procesa nume de fișiere arbitrare, chiar și cele care conțin caractere de  linie
              nouă.

   Controlul liniei contextuale
       -A NUMĂR, --after-context=NUMĂR
              Afișează  NUMĂR  linii de context după liniile care se potrivesc. Plasează o linie care conține un
              separator de grup (--) între grupurile  contigue  de  corespondențe.  În  cazul  opțiunii  -o  sau
              -^-only-matching, acest lucru nu are niciun efect și se emite un avertisment.

       -B NUMĂR, --before-context=NUMĂR
              Afișează  NUMĂR  linii  de  context  înainte  de  liniile care se potrivesc. Plasează o linie care
              conține un separator de grup (--) între grupurile contigue de corespondențe. În cazul opțiunii  -o
              sau -^-only-matching, acest lucru nu are niciun efect și se emite un avertisment.

       -C NUM, -NUMĂR, --context=NUMĂR
              Afișează NUMĂR linii de context de ieșire. Plasează o linie care conține un separator de grup (--)
              între  grupurile  contigue de potriviri. În cazul opțiunii -o sau -^-only-matching, acest lucru nu
              are niciun efect și se emite un avertisment.

       --group-separator=SEPARATOR
              Atunci când se utilizează -A, -B sau -C, imprimă SEPARATOR în loc de -- între grupurile de linii.

       --no-group-separator
              Atunci când se utilizează -A, -B sau -C, nu imprimă un separator între grupurile de linii.

   Selectarea fișierelor și directoarelor
       -a, --text
              Procesează un  fișier  binar  ca  și  cum  ar  fi  text;  aceasta  este  echivalentă  cu  opțiunea
              --binary-files=text.

       --binary-files=TIP
              Î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 TIP. 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 -z.

              În  mod  implicit,  TIP  este binary, iar grep 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, grep urmează orice ieșire cu un mesaj la ieșirea de  eroare  standard
              care informează că un fișier binar corespunde.

              Dacă  TIP este without-match, atunci când grep descoperă date binare de intrare nule, presupune că
              restul fișierului nu se potrivește; acest lucru este echivalent cu opțiunea -I.

              Dacă TIP este text, grep procesează un fișier binar ca  și  cum  ar  fi  text;  acest  lucru  este
              echivalent cu opțiunea -a.

              Când  tip este binary, grep poate trata octeții care nu sunt text ca terminatori de linie chiar și
              fără opțiunea -z. Aceasta înseamnă că alegerea binary față de text poate afecta dacă un  model  se
              potrivește  cu  un  fișier.  De  exemplu,  atunci  când tip este binary, modelul q$ ar putea să se
              potrivească cu q urmat imediat de un octet nul, chiar dacă acesta nu se potrivește atunci când tip
              este text. În schimb, atunci când tip este binar, este posibil ca  modelul  .  (punct)  să  nu  se
              potrivească cu un octet nul.

              Atenție:  Opțiunea -a 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 -a sau să definiți LC_ALL='C' în mediu, pentru  a  găsi
              mai multe corespondențe, chiar dacă acestea nu sunt sigure pentru afișarea directă.

       -D ACȚIUNE, --devices=ACȚIUNE
              Dacă  un  fișier  de  intrare  este  un  dispozitiv,  FIFO sau soclu, utilizați ACȚIUNE pentru a-l
              procesa. În mod implicit, ACȚIUNEA este read, ceea ce înseamnă că dispozitivele sunt citite ca  și
              cum ar fi fișiere obișnuite. Dacă ACȚIUNEA este skip, dispozitivele sunt omise în mod silențios.

       -d ACȚIUNE, --directories=ACȚIUNE
              Dacă un fișier de intrare este un director, utilizați ACȚIUNE pentru a-l procesa. În mod implicit,
              ACȚIUNEA  este  read,  adică citește directoarele ca și cum ar fi fișiere obișnuite. Dacă ACȚIUNEA
              este skip, se omit silențios directoarele. Dacă ACȚIUNEA este recurse, 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 -r.

       --exclude=GLOBAL
              Ignoră orice fișier din linia de comandă cu un sufix de nume care se potrivește cu modelul GLOBAL,
              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ă (/) î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 GLOBAL; numele de bază este partea de după ultima bară oblică. Un model poate folosi
              *,  ?  și  [...]  drept  caractere joker, iar \ pentru a cita literal un caracter joker sau o bară
              oblică inversă.

       --exclude-from=FIȘIER
              Omite fișierele al căror nume de bază se potrivește cu oricare dintre modelele globale de nume  de
              fișiere  citite  din  FIȘIER  (utilizând  potrivirea  cu  caractere joker, așa cum este descris la
              --exclude).

       --exclude-dir=GLOBAL
              Omite orice director din linia de comandă cu un sufix  de  nume  care  se  potrivește  cu  modelul
              GLOBAL.  În  cazul  căutării  recursive,  se  omite  orice  subdirector  al  cărui nume de bază se
              potrivește cu GLOBAL.  Ignoră orice bară oblică redundantă din GLOBAL.

       -I     Procesează un fișier binar ca și cum nu ar conține potriviri de  date; acest lucru este echivalent
              cu opțiunea --binary-files=without-match.

       --include=GLOBAL
              Caută numai fișierele al căror nume de bază se potrivește cu GLOBAL (folosind caractere  joker  de
              potrivire  așa  cum  este descris la --exclude). În cazul în care sunt date opțiuni contradictorii
              --include și --exclude, ultima opțiune care se potrivește câștigă. Dacă nici o  opțiune  --include
              sau  --exclude  nu se potrivește, un fișier este inclus, cu excepția cazului în care prima opțiune
              de acest tip este --include.

       -r, --recursive
              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,
              grep caută în directorul de lucru. Acest lucru este echivalent cu opțiunea -d recurse.

       -R, --dereference-recursive
              Citește  toate  fișierele  din  fiecare  director,  în  mod  recursiv.  Urmărește toate legăturile
              simbolice, spre deosebire de -r.

   Alte opțiuni
       --line-buffered
              Utilizează memoria tampon de linie la ieșire. Acest lucru poate cauza o penalizare a performanței.

       -U, --binary
              Tratează fișierul (fișierele) ca fiind binar(e). În mod implicit, în MS-DOS  și  MS-Windows,  grep
              ghicește  dacă un fișier este text sau binar, așa cum este descris pentru opțiunea --binary-files.
              Dacă grep decide că fișierul este un fișier text, elimină caracterele CR din  conținutul  original
              al  fișierului  (pentru  ca  expresiile regulate cu ^ și $ să funcționeze corect). Specificarea -U
              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.

       -z, --null-data
              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 -Z sau --null, această opțiune poate
              fi utilizată cu comenzi precum sort -z pentru a procesa nume de fișiere arbitrare.

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.

       grep înțelege trei versiuni diferite de sintaxă a expresiilor regulate: „bazic” (ERB), „extins” (ERE)  și
       „perl” (PCRE). În GNU grep, 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
       pcre2syntax(3) și pcre2pattern(3), dar funcționează numai dacă este activat suportul PCRE.

       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ă.

       Punctul . se potrivește cu orice caracter unic. Nu este specificat dacă se  potrivește  cu  o  eroare  de
       codificare.

   Clase de caractere și expresii între paranteze
       O  expresie  între  paranteze  este  o  listă de caractere cuprinsă între [ și ].  Se potrivește cu orice
       caracter din lista respectivă. Dacă primul caracter din listă este caracterul ^, atunci se potrivește  cu
       orice caracter care nu este în listă; nu este specificat dacă se potrivește cu o eroare de codificare. De
       exemplu, expresia regulată [0123456789] se potrivește cu orice cifră unică.

       În  cadrul unei expresii între paranteze, o expresie expresie de interval 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, [a-d] este echivalent cu  [abcd].  Multe  configurații
       regionale  sortează  caracterele în ordinea în care se face într-un dicționar, iar în aceste configurații
       regionale [a-d] nu este de obicei echivalent cu [abcd]; ar putea fi echivalent cu [aBbCcDd], 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 LC_ALL la valoarea C.

       De asemenea, anumite clase de caractere sunt predefinite în cadrul expresiilor între paranteze, după  cum
       urmează.  Numele  lor  sunt  autoexplicative  și  sunt  [:alnum:] (alfanumerice), [:alpha:] (alfabetice),
       [:blank:] (spații și  tabulatoare),  [:cntrl:]  (caractere  de  control),  [:digit:]  (cifre),  [:graph:]
       (caractere  vizibile),  [:lower:] (minuscule), [:print:] (caractere imprimabile), [:punct:] (caractere de
       punctuație), [:space:] (spații în alb), [:upper:] (majuscule)  și  [:xdigit:].  De  exemplu,  [[:alnum:]]
       î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  [0-9A-Za-z].  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 ],  plasați-l  primul  în
       listă.  În mod similar, pentru a include un literal ^ plasați-l oriunde, dar nu primul. În cele din urmă,
       pentru a include un literal -, plasați-l ultimul.

   Ancorarea
       Accentul circumflex ^ și semnul de dolar $ sunt metacaractere care se potrivesc cu șirul gol la începutul
       și, respectiv, la sfârșitul unei linii.

   Caracterul de bară oblică inversă și expresiile speciale
       Simbolurile \< și \> corespund șirului gol la începutul și, respectiv, la sfârșitul unui cuvânt. Simbolul
       \b corespunde șirului gol la marginea unui cuvânt, iar \B corespunde șirului gol, cu condiția  ca  acesta
       să  nu  fie  la  marginea  unui  cuvânt.  Simbolul \w este un sinonim pentru [_[:alnum:]], iar \W este un
       sinonim pentru [^_[:alnum:]].

   Repetiția
       O expresie regulată poate fi urmată de unul dintre mai mulți operatori de repetiție:
       ?      Elementul precedent este opțional și se potrivește cel mult o dată.
       *      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 potrivește exact de n ori.
       {n,}   Elementul precedent se potrivește de n sau mai multe ori.
       {,m}   Elementul precedent se potrivește de cel mult m ori. Aceasta este o extensie GNU.
       {n,m}  Elementul precedent se potrivește de cel puțin n ori, dar nu mai mult de m ori.

   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.

   Alternative
       Două expresii regulate pot fi unite prin operatorul infix |; expresia regulată rezultată se potrivește cu
       orice șir de caractere care se potrivește cu oricare dintre cele două expresii (expresii alternative).

   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.

   Retro-referințe și subexpresii
       Retro-referința \n, unde n este o singură cifră, se potrivește cu subșirul de caractere care s-a potrivit
       anterior cu cea de-a n-a subexpresie între paranteze a expresiei regulate.

   Expresii regulate de bază vs Expresii regulate extinse
       În  expresiile  regulate  de bază, metacaracterele ?, +, {, |, ( și ) își pierd semnificația specială; în
       schimb, se folosesc versiunile cu bară oblică inversă \?, \+, \{, \|, \( și \).

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ă -q sau --quiet sau
       --silent și se selectează o linie, starea de ieșire este 0 chiar dacă a apărut o eroare.

MEDIU

       Comportamentul lui grep este afectat de următoarele variabile de mediu.

       Configurația regională pentru categoria LC_foo este specificată prin examinarea celor trei  variabile  de
       mediu  LC_ALL,  LC_foo,  LANG,  în  această  ordine.  Prima dintre aceste variabile care este definită va
       determina configurația regională folosită. De exemplu, dacă LC_ALL nu este definită, dar LC_MESSAGES este
       definită  la  pt_BR,  atunci  pentru  categoria  LC_MESSAGES   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ă  grep  nu  a  fost
       compilat  cu  suportul  pentru  limbi  naționale (NLS). Comanda de shell locale -a enumeră configurațiile
       regionale care sunt disponibile în prezent.

       GREP_COLORS
              Controlează modul în care opțiunea --color evidențiază  ieșirea.  Valoarea  sa  este  o  listă  de
              capacități     separate     prin     două     puncte     care    are    ca    valoare    implicită
              ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36, cu capacitățile booleene rv și ne omise  (adică
              false). Capacitățile acceptate sunt următoarele.

              sl=    Subșirul  SGR  pentru  liniile  întregi selectate (adică liniile care corespund atunci când
                     opțiunea de linie de comandă -v este omisă sau liniile care nu corespund atunci  când  este
                     specificată  -v).  Dacă  totuși  capacitatea booleană rv și opțiunea de linie de comandă -v
                     sunt ambele specificate, se aplică în schimb liniilor care corespund contextului.  Valoarea
                     implicită este goală (adică perechea de culori implicită a terminalului).

              cx=    Subșirul  SGR  pentru  liniile  întregi din context (adică liniile care nu corespund atunci
                     când opțiunea de linie de comandă -v este omisă sau liniile care corespund atunci când este
                     specificată -v). Cu toate acestea, dacă sunt specificate atât capacitatea booleană rv,  cât
                     și  opțiunea  de  linie  de comandă -v, se aplică în schimb liniilor nepotrivite selectate.
                     Valoarea implicită este goală (adică perechea de culori implicită a terminalului).

              rv     Valoare booleană care inversează (schimbă) semnificațiile capacităților sl= și  cx=  atunci
                     când  este  specificată  opțiunea  de  linie  de  comandă -v. Valoarea implicită este false
                     (adică, capacitatea este omisă).

              mt=01;31
                     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ă -v este omisă sau o linie de context
                     atunci când este specificată -v). Definirea acestei valori este  echivalentă  cu  definirea
                     atât  a  ms=, cât și a mc= deodată la aceeași valoare. Valoarea implicită este un prim-plan
                     de text roșu aldin peste fundalul liniei curente.

              ms=01;31
                     Subșir SGR pentru potrivirea textului nevid într-o linie selectată; (aceasta este utilizată
                     numai atunci când opțiunea de linie de comandă -v este omisă). Efectul capacității sl= (sau
                     cx= dacă rv) 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.

              mc=01;31
                     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ă  -v).  Efectul
                     capacității  cx=  (sau  sl=  dacă  rv) 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.

              fn=35  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.

              ln=32  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.

              bn=32  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.

              se=36  Subșirul SGR pentru separatorii care se inserează între câmpurile de linii  selectate  (:),
                     între  câmpurile  de linii de context (-) și între grupurile de linii adiacente atunci când
                     se specifică un context diferit de zero (--). Valoarea implicită este un prim-plan de  text
                     cian (azuriu) peste fundalul implicit al terminalului.

              ne     Valoare  booleană  care  previne  ștergerea  până la sfârșitul liniei folosind ștergerea în
                     linie („Erase in Line”: EL) la dreapta (\33[K) 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
                     back_color_erase (bce), 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ă).

              Rețineți că capacitățile booleene nu au partea =.... Acestea  sunt  omise  (adică  false)  în  mod
              implicit și devin adevărate atunci când sunt specificate.

              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ă. grep se
              ocupă de asamblarea rezultatului într-o secvență  SGR  completă  (\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 implicită, de la 30 la 37 pentru culori de prim-plan, de la 90 la  97
              pentru  culori  de  prim-plan  în  modul  16  culori, de la 38;5;0 la 38;5; 255 pentru culorile de
              prim-plan în modurile 88 și 256 de culori, 49 pentru culoarea de fundal implicită, de la 40 la  47
              pentru  culorile de fundal, de la 100 la 107 pentru culorile de fundal în modul 16 culori și de la
              48;5;0 la 48;5;255 pentru culorile de fundal în modurile 88 și 256 de culori.

       LC_ALL, LC_COLLATE, LANG
              Aceste variabile specifică configurația regională  pentru  categoria  LC_COLLATE,  care  determină
              secvența de colaționare utilizată pentru a interpreta expresii de tip [a-z].

       LC_ALL, LC_CTYPE, LANG
              Aceste  variabile specifică configurația regională pentru categoria LC_CTYPE, 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.

       LC_ALL, LC_MESSAGES, LANG
              Aceste  variabile  specifică  configurația  regională pentru categoria LC_MESSAGES, care determină
              limba pe care grep o utilizează pentru mesaje. În mod implicit, configurația regională C folosește
              mesaje în limba engleză americană.

       POSIXLY_CORRECT
              Dacă este definită, grep se comportă așa cum cere POSIX; în caz contrar, grep 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”.

NOTE

       Această pagină de manual este  întreținută  doar  intermitent;  documentația  completă  este  adesea  mai
       actualizată.

DREPTURI DE AUTOR

       Drepturi de autor 1998-2000, 2002, 2005-2023 Free Software Foundation, Inc.

       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.

ERORI

   Raportarea erorilor
       Trimiteți rapoartele de erori prin poșta electronică la adresa de raportare a erorilor ⟨bug-grep@gnu.org⟩
       corespondență       electronică       și       un       sistem      de      urmărire      a      erorilor
       ⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩

   Erori cunoscute
       Un număr mare de repetări în construcția {n,m} poate face ca grep să utilizeze foarte multă  memorie.  În
       plus,  anumite  alte expresii regulate obscure necesită timp și spațiu exponențial și pot face ca grep să
       rămână fără memorie.

       Retro-referințele sunt foarte lente și pot necesita timp exponențial.

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 -n
       afișează numerele de linie, argumentul -- 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”.

         $ grep -n -- 'f.*\.c$' *g*.h /dev/null
         argmatch.h:1:/* definiții și prototipuri pentru argmatch.c

       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.

CONSULTAȚI Ș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)

   Documentația completă
       Un manual complet este disponibil la  adresa  ⟨https://www.gnu.org/software/grep/manual/⟩  și  grep  sunt
       instalate corect în sistemul dvs., comanda

              info grep

       ar trebui să vă permită accesul la manualul complet.

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU  Versiunea   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară  cu privire la condiții privind
       drepturile de autor.  NU se asumă NICIO RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți  un  e-mail  la  ⟨translation-team-
       ro@lists.sourceforge.net⟩.

GNU grep 3.11                                      2019-12-29                                            GREP(1)