grep -E "^a?b$"
hleda radky, takove, ze obsahuji:
^ = zacatek radku
a? = (potom) bud jedno a, nebo nic
b = (potom) b
$ = (potom) konec radku
cili radky, ktere od zacatku obsahuji pouze a (nebo nic) a potom b a pak konci (takze radky "ab" a "b")
grep -E "^?b$"
helad radky takove, ze obsahuji:
^? = zacatek radku (nebo nic)
b = (potom) b
$ = (potom) konec radku
cili bud radky, ktere obsahuji pouze jedno b (kdyz tam je ten zacatek), nebo obsahuji b na konci (kdyz tesne pred nim ten zacatek neni). Tady ten otaznik aplikujes na ^, coz je zacatek radku. Takze zacatek radku tesne pred b byt muze a nemusi (podminka dost na houby)