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.
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
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.
În decembrie 2003, Oxford English Dictionary Online adaugă intrările pentru "grep" atât ca un substantiv și un verb.
![]() |
Wikibooks are o carte despre subiectul: grep |
Unix (mai multe) | Programe în linia de comandă pentru|||
Management de fișiere: | cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch | ||
Management de procese: | at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait | ||
Management utilizator/mediu: | env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write | ||
Procesare text: | awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs | ||
Programare Shell: | basename | echo | expr | false | printf | test | true | unset | Imprimare: lp | |
Communicații: inetd | netstat | ping | rlogin | traceroute |
Căutare: find | grep | strings |
Diverse: banner | bc | cal | dd | man | size | yes |