grep to polecenie systemów Linux/Unix służące do wyszukiwania tekstu w plikach lub strumieniu danych. Nazwa pochodzi od angielskiego „global regular expression print”. W pytaniach egzaminacyjnych najważniejsze jest zapamiętanie, że grep nie kompresuje, nie archiwizuje i nie porównuje plików — jego zadaniem jest wyszukiwanie pasujących linii.
Podstawowa składnia
grep wzorzec plik
Przykład:
grep Jan uczniowie.txt
Polecenie wypisze linie z pliku uczniowie.txt, które zawierają tekst Jan.
Przydatne opcje
-i— ignoruje wielkość liter,-n— pokazuje numer linii,-r— przeszukuje katalogi rekurencyjnie,-v— pokazuje linie, które nie pasują do wzorca,-l— wypisuje tylko nazwy plików zawierających dopasowanie.
Przykłady:
grep -i error log.txt
Wyszukuje słowo error bez rozróżniania wielkości liter.
grep -rn "failed" /var/log
Przeszukuje katalog /var/log i podkatalogi, pokazując numery linii z tekstem failed.
grep a inne polecenia
grep często używa się razem z potokiem |, aby filtrować wynik innego polecenia:
ps aux | grep firefox
Polecenie wyszukuje procesy zawierające tekst firefox.
Do zapamiętania
Na egzaminie INF.02 poprawne skojarzenie jest proste: grep = wyszukiwanie danych/tekstu w pliku.