oracular (1) grep.1.gz

Provided by: manpages-ro_4.23.1-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
       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 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⟩.