grep este o comandă UNIX pentru căutare de text. Denumirea vine de la primele litere ale „global/regular expression/print”, ce reprezintă o serie de comenzi pentru editoare de text precum ed. Comanda "grep" caută în fișiere sau în intrarea standard liniile care corespund unei expresii regulate date și le scrie către ieșirea standard.

Utilizare Acesta este un exemplu comun de folosire a lui "grep":

grep apple fruitlist.txt

În acest caz , "grep" afișează toate liniile care conțin "apple" din fișierul "fruitlist.txt", fără a ține seama de separarea între cuvinte. Astfel, liniile ce conțin secvențele "pineapple" sau "apple" sunt de asemenea afișate. Implicit, comanda "grep" este sensibilă la majuscule, deci liniile ce conțin "Apple" (scris cu litera mare A) nu vor fi afișate, cu excepția situației în care acestea ar conține altundeva și secvența "apple".

O expresie regulată poate fi folosită pentru a efectua interogări mai complicate. Următoarea comandă afișează toate liniile din fișierul fruitlist.txt care încep cu litera a (^), urmat de orice caracter (.), apoi de literele ple.

grep ^a.ple fruitlist.txt

Așa cum s-a menționat mai sus, termenul de "grep" provine de la modul de utilizare a editoarelor de text asemnănătoare cu ed. Înainte ca grep să fi fost creat ca un program de sine stătător, același efect ar fi putut fi obținut prin:

ed fruitlist.txt g/^a.ple/p q

Aici, linia a doua este comanda dată editorului pentru a căuta liniile ce se potrivesc cu expresia regulată specificată și pentru a le afișa. Comanda de pe ultima linie are ca efect terminarea programului.

Ca majoritatea comenzilor Linux , "grep" acceptă diverși parametri la linia de comandă. Spre exemplu, următoarea comandă afișează toate liniile conținând "apple" , indiferent de capitalizare.

grep -i apple fruitlist.txt

Argumentul "-i" configurează programul grep să lucreze în modul insensibil la majuscule, considerând astfel literele mari ca litere mici.

Următoarea comandă afișează toate liniile care conțin "apple" ca un cuvânt de sine stătător (astfel, "pineapple" sau "apples" nu se vor potrivi):

grep -w apple fruitlist.txt

De remarcat că și liniile din fruitlist.txt ce conțin cuvântul de "apple" urmat de caracterul cratimă (-) se vor potrivi:

cat fruitlist.txt apple apples pineapple apple- apple-fruit fruit-apple

grep -w apple fruitlist.txt apple apple- apple-fruit fruit-apple

Variații Există implementări nenumărate și diverse variații ale programului grep disponibile pentru multe sisteme de operare. Unele dintre primele variante ale lui grep au fost egrep și fgrep.

Mod de utilizare ca un verb de conversație În decembrie 2003, Oxford English Dictionary Online adaugă intrările pentru "grep" atât ca un substantiv și un verb.

Vezi și

Boyer–Moore string search algorithm List of Unix utilities Ack (command-line utility)

Referințe

Hume, Andrew A tale of two greps, Software—Practice and Experience 18, ( 11 ), 1063–1072 ( 1988). Hume, Andrew Grep wars: The strategic search initiative. In Peter Collinson, editor, Proceedings of the EUUG Spring 88 Conference, pages 237–245, Buntingford, UK, 1988. European UNIX User Group.

Legături externe

Pagină de manual The grep command tutorial for Linux / UNIX. The grep Command – by The Linux Information Project (LINFO) "The Treacherous Optimization" – article on tradeoffs in grep to favor best-case over worst-case scenarios Egrep for linguists An introduction to egrep Tony Abou-Assaleh's list of Greps Greppin' in the GNU World Lab Google Code University Top 'grep' commands - Usage examples Agent Ransack for Windows

Categorie:UNIX Categorie:Comenzi UNIX Categorie:Linux