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