Linuksowy system plików 59
PATRZ RÓWNIEŻ
« Więcej o wyrażeniach regularnych mówimy w rozdziale 2.
* Więcej o skryptach mówimy w rozdziale 22.
* Kompresja plików jest omówiona w rozdziale 31.
Polecenie egrep umożliwia podanie wzorców do wyszukania w postaci rozszerzonych wyrażeń regularnych (wspomnianych w rozdziale 2); akceptuje jednak również zwy-kie wyrażenia regularne:
# egrep -n tee /etc/info-dir
92:* tee: (sh-utils)tee invocation. Redirect to multiple files. Różnica pomiędzy poleceniem egrep a pozostałymi klonami grep uwidacznia się w momencie zastosowania wyrażeń regularnych:
# egrep ’\(gp' /etc/info-dir
# gpm: (gpm). Text-mode mouse library.
egrep zwraca trafienie tam, gdzie fgrep me zwraca niczego, a grep generuje błąd. Apostrofy (‘) chronią wyrażenie regularne przed zinterpretowaniem przez shell.
egrep czyta dane ze standardowego strumienia wejścia i wysyła wyniki do standardowego strumienia wyjścia. Wzorce do wyszukania mogą zostać umieszczone w pliku tekstowym i wczytane z użyciem flagi -f.
Polecenie fgrep akceptuje w charakterze wzorców wyłącznie łańcuchy tekstowe:
# fgrep -n tee /etc/info-dir
92:* tee: (sh-utiis)tee invocation. Redirect to multiple tiies.
Jak widać w poniższym przykładzie, fgrep nie rozpoznaje wyrażeń regularnych:
# fgrep '\(gp' /etc/info-dir
Wyrażenie to nie zwróci żadnych wyników, ponieważ fgrep dopuszcza stosowanie tylko prostych masek. Podobnie jak pozostałe klony grep, fgrep może odczytywać wzorce z pliku:
# cat > szukaj.txt gpm [EOT]
# fgrep -f szukaj.txt /etc/info-dir
Text-mode mouse library.
# gpm: (gpm).