Grep

grep ir komandrindas utilītprogramma, ko izmanto, lai vienkārša teksta datu kopās meklētu rindas, kuras atbilst regulārām izteiksmēm. Tās nosaukums cēlies no ed komandas g/re/p (globally search a regular expression and print), kas veic tādu pašu darbību: veic globālu meklēšanu pēc regulāras izteiksmes un izdrukā visas atbilstošās rindas. Grep sākotnēji tika izstrādāts Unix operētājsistēmai, bet mūsdienās ir pieejams visām Unix līdzīgajām sistēmām.

Vēsture 
Grep izstrādāja Kens Tomsons, un pirmoreiz tā parādījās Unix 4. versijā kā atsevišķa utilītprogramma, atvasinot to no regulāro izteiksmju parsētāja ed redaktoram (kam Tomsons arī bija autors). Ed redaktorā komanda g/re/p izdrukāja visas rindas, kas atbilda iepriekš noteiktam šablonam.

Izmantošana 
grep meklē failos, kurus norāda kā argumentus, bet ja to nenorāda, tad meklēšana notiek programmas standarta ievadē. Pēc noklusējuma atbilstošās rindas tiek drukātas standarta izvadē, bet ar komandrindas parametriem iespējams norādīt arī citādāku darbības režīmu.

Šis ir vienkāršs bieži izmantots grep piemērs. Teksta failā augļu_saraksts.txt tiek meklētas teksta rindas, kurās ir teksts ābols:
$ grep ābols augļu_saraksts.txt
Atbilstības tiek atrastas, kad tiek atpazīta konkrēta burtu virkne, piemēram, rinda, kurā ir teksts granātābols, tiek izdrukāta, jo vārdu robežas netiek ņemtas vērā. Tomēr norādītais šablons pēc noklusējuma ir reģistrjutīgs, tāpēc šī piemēra izvads neatgriež rindas, kuras satur tekstu Ābols (ar lielo Ā), ja vien tās nesatur arī tekstu ābols. Meklēšanu bez reģistrjutības var veikt, komandrindā papildus norādot argumentu -i (ignorēt reģistru).

Argumentu sarakstā var norādīt arī vairākus failus. Piemēram, ja komandu interpretators atbalsta aizstājējzīmju izmantošanu, var norādīt visus failus direktorijā ar paplašinājumu .txt, izmantojot zvaigznīti kā daļu no faila nosaukuma:
$ grep ābols *.txt

Lai atrastu atbilstības sarežģītākiem teksta šabloniem, var izmantot regulārās izteiksmes. Šī komanda izdrukā visas rindas failā, kuras sākas ar burtu b, kam seko viens jebkāds simbols, kam seko burtu virkne mbieris.
$ grep ^b.mbieris augļu_saraksts.txt

Atsauces