Linux Wiki
Linux Wiki
Advertisement

grep – polecenie występujące w Uniksie i systemach pochodnych. Z danego tekstu pokazuje linie, które pasują do wzorca.

Użycie[]

<terminal>$ grep [opcje] <wzorzec> [plik]</terminal>

  • 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” grepa 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 potoku[]

Wywołanie ls | grep txt w przykładowym folderze wypisze: <terminal> $ ls | grep txt do zrobienia.txt linuxwiki.txt moje notatki.txt </terminal> Przy użyciu potoku program ls przekazał grepowi listę plików używając standardowego wejścia. Grep otrzymał listę i pokazał tylko linie, które zawierały podany wzorzec (txt).

Przykład 2 – z plikiem[]

Wywołanie grep "Panno Święta" "pan tadeusz.txt" w przykładowym folderze zawierającym tekst pierwszej księgi Pana Tadeusza w pliku pan tadeusz.txt wypisze: <terminal> $ grep "Panno Święta" "pan tadeusz.txt" Panno Święta, co jasnej bronisz Częstochowy </terminal>

Przykład 3 – z „kontekstem”[]

Gdy nie wiadomo, skąd pochodzi fragment (tak jak w powyższym przykładzie), 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: <terminal> $ grep -B 4 -A 3 "Panno Święta" "pan tadeusz.txt" 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 </terminal> 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


{{#seo:|keywords = Grep,polecenie Grep,Linux,polecenia,komendy,Linux polecenie Grep}}

Advertisement