Vyhladavanie podretazcov (regularnych vyrazov) v suboroch

grepregexp suborynajde vsetky vyskyty regularneho vyrazu regexp v suboroch subory vypise meno suboru a prislusny riadok
grep -nregexp suboryako grep ale vypisuje aj cisla riadkov
grep -iregexp suboryako grep, v regularnom vyraze nerozlisuje medzi velkymi a malymi pismenami

Regularne vyrazy

Reg Vyraz
Vyznam
Priklad vyrazuPriklad zahrnutych retazcovPriklad vylucenych retazcov
znaknormalne znaky (cisla, pismena) su regularne vyrazy reprezentujuce seba.toto toto 
.Akykolvek znakt.t tot tut tat ...oto tt
\(expr\)To iste ako expr\(toto\) toto 
expr*Opakovanie expr lubovolne vela krat (0-n krat)t* t tt ttt tttt ...ta taa ata
  to*t tt tot toot tooot ...toat ttt
  \(toto\)* toto totototo ... 
expr\+Opakovanie expr aspon raz (1-n krat)to\+t tot toot tooot ...tt
[znak1znak2...]Lubovolny znak zo znakov znak1 znak2 ...t[oua]ttot tut tattet
[znak1-znak2]Lubovolny znak s ASCII kodom z intervalu od znak1 po znak2t[a-c]ttat tbt tcttot tut
  [A-Z0-9]A 0 B 7a b
[^znak]Lubovolny znak okrem znaku znakt[^o]ttut tat ...tot
[^znak1-znak2]Lubovolny znak okrem znakov s ASCII kodmi z intervalu znak1 po znak2t[^c-z0-9A-Z]ttat tbt ...tct t0t tBt
\(expr1 \| expr2\)Lubovolny z dvoch podvyrazov expr1 a expr2t\(aa\|bb\)ttaat tbbttabt
     
\bPrazdny retazec na zaciatku a konci slova\btoto\btoto tototo
^Prazdny retazec na zaciatok riadku   
$Prazdny retazec na konci riadku   


Priklady na pouzitie prikazu grep:



Cvicenia:

1.) Dokoncite cvicenia z minuleho tyzdna.

2.)  Napiste prikaz, ktory prehlada subor a najde vsetky
riadky ktore obsahuju identifikator (t.j. retazec pozostavajuci z pismen a cislic)
konciaci jedinou cislicou. T.j. za poslednym pismenom je prave jedna
cislica. Tomu zodpoveda napriklad identifikator t1 ale nie t21.


3.)  Napiste prikaz, ktory vyhlada vsetky riadky obsahujuce retazec
't1' alebo retazec 't2'.


4.)  Napiste prikaz, ktory vyhlada vsetky riadky obsahujuce retazec
't1' a sucasne retazec 't2'.


5.)  Napiste prikaz, ktory vyhlada vsetky riadky obsahujuce vyvolania
a definiciu funkcie createVarHandler ale nie napr. 
fciu 'createVarHandlersForExprs'.


6.)  Napiste prikaz, ktory vypise len riadky obsahujuce priradenie do
premennej 'l' ale nie testy na rovnost (t.j. vypise riadky l=0; ale nie napriklad l == xy).


arrow arrow