Grep jest powszechnie używanym poleceniem do przeszukiwania plików tekstowych na systemach linux. Jeśli masz potrzebę wyszukania w pliku, bądź w plikach określonego ciągu znaków, to powinieneś się z nim zaznajomić. Sporo na jego temat możesz znaleźć w internecie. Tutaj jedynie wspomnę o kilku jego przydatnych możliwościach.
Za najważniejsze polecenie można uznać:
1 |
grep --help |
Najprostsze użycie tego polecenia to:
1 |
grep 'szukany tekst' nazwa-pliku.txt |
W rezultacie wyszukasz wszystkie wiersze z pliku nazwa-pliku.txt, które zawierają „szukany tekst”
Jeśli wyszukany tekst nie jest wyróżniony innym kolorem w wyświetlonej linii, to polecam użycie parametru –color=always
1 |
grep --colour=always 'szukany tekst' nazwa-pliku.txt |
Natomiast jeśli chcesz znaleźć wszystkie wiersze które nie posiadają wybranego tekstu, to musisz użyć parametru -v:
1 |
grep -v 'pomijany tekst' nazwa-pliku.txt |
Zamiast zwykłego tekstu możesz stosować również wyrażenia regularne dzięki którym grep staje się jeszcze bardziej użytecznym narzędziem.
1 |
grep '(kot|pies)' nazwa-pliku.txt |
Tutaj grep wyszuka wszystkie wiersze, w których jest słowo kot lub pies.
Inne najczęściej używane przeze mnie parametry to:
- -o – wyświetla tylko teksty pasujące do szukanego tekstu bądź wyrażenia regularnego
- -i – przy wyszukiwaniu tekstu ignorowane są duże i małe znaki
- -n – numer linii, w której wystąpił wzorzec (teskt, wyrażenie regularne)
Wyszukiwanie można również wykonać w wielu plikach. Można to zrobić z wykorzystaniem operatora *
1 |
grep '(kot|pies)' *.txt |
Wyszukiwanie odbędzie się w wszystkich plikach z rozszerzeniem txt, które znajdują się w aktualnej lokalizacji.