grep – polecenie występujące w Unixie i systemach pochodnych, które z danego tekstu pokazuje jedynie linie, które pasują do wzorca
Użycie
$ grep [opcje] wzorzec [plik]
opcje
– opcjonalne przełączniki;wzorzec
– co grep ma dopasowywać;plik
– plik, w którym grep będzie szukać wzorca. Jeżeli go nie będzie, zostanie użyte standardowe wejście.
Najczęściej używane przełączniki
-A x
– pokazuje x linii po znalezionym wzorcu-B x
– pokazuje x linii przed znalezionym wzorcem-x
– zaznacza tylko te dopasowania, które pasują do całej linii-i
– "znieczula" grep'a na wielkość liter. W tym przypadku wyrazy Linux i LInuX będą traktowane jak identyczne.-E
– używa rozszerzonych wyrażeń regularnych
Przykłady
Przykład 1 – z użyciem pipe
Wywołanie ls | grep txt
w przykładowym folderze wypisze:
do zrobienia.txt linuxwiki.txt moje notatki.txt
- Przy użyciu pipe program ls przekazał grep'owi listę plików używając stdin
- Grep otrzymał listę i pokazał tylko linie, które zawierały wzorzec (txt)
Przykład 2 – z plikiem
Wywołanie grep "Panno Święta" "pan tadeusz.txt"
w przykładowym folderze wypisze:
Panno Święta, co jasnej bronisz Częstochowy
- Plik pan tadeusz.txt zawiera tekst I Księgi Pana Tadeusza.
- Grep szuka w niej tekstu Panno Święta
Przykład 3 – z "kontekstem"
A co, gdy nie wiemy, skąd pochodzi fragment, jak np. z przykładu wyżej? Przydadzą nam się opcje -A
oraz -B
. Chcemy zobaczyć 4 linie przed i 3 linie po tej z wzorcem. Zakładamy, że do zorientowania się wystarczy. Tak więc wywołanie komendy grep -B 4 -A 3 "Panno Święta" "pan tadeusz.txt"
w przykładowym folderze wypisze na ekran:
Ile cię trzeba cenić, ten tylko się dowie, Kto cię stracił. Dziś piękność twą w całej ozdobie Widzę i opisuję, bo tęsknię po tobie.
Panno Święta, co jasnej bronisz Częstochowy I w Ostrej świecisz Bramie! 2 Ty, co gród zamkowy Nowogródzki ochraniasz z jego wiernym ludem! Jak mnie dziecko do zdrowia powróciłaś cudem
- W celu łatwiejszego zorientowania się linia z wzorcem została oznaczona przez pogrubienie.
- W normalnych warunkach grep tego nie robi.
Ciekawostki
- Istnieją takie polecenia jak egrep i fgrep. Egrep to to samo co grep wywołany z parametrem -E, a fgrep – z parametrem -f
Linki zewnętrzne
- man grep (wersja online)
|
{{#seo:|keywords = Grep,polecenie Grep,Linux,polecenia,komendy,Linux polecenie Grep}}