Polecenie grep w systemie Linux to potężne narzędzie do wyszukiwania tekstu w plikach, szczególnie cenione przez administratorów i programistów za szybkość, elastyczność i wsparcie dla wyrażeń regularnych. Poniżej znajdziesz rozbudowany poradnik krok po kroku – od podstawowej składni i typowych opcji, po zaawansowane zastosowania i praktyczne przykłady.
1. Podstawy użycia grep
Składnia –
grep [opcje] wzorzec [plik...] 
- wzorzec – tekst albo wyrażenie regularne, które chcesz znaleźć.
 - plik – ścieżka do pliku lub plików, w których chcesz szukać.
 - opcje – dodatkowe parametry modyfikujące zachowanie grep.
 
Przykład podstawowy –
grep "Błąd" aplikacja.log 
Wyświetli wszystkie linie z pliku aplikacja.log zawierające słowo „Błąd”.
2. Najczęściej używane opcje grep
| Opcja | Opis działania | 
|---|---|
-i | 
Wyszukiwanie bez uwzględniania wielkości liter | 
-v | 
Wyświetl linie niepasujące do wzorca | 
-r / -R | 
Rekurencyjne przeszukiwanie katalogów | 
-l | 
Wyświetl tylko nazwę pliku z dopasowaniem | 
-n | 
Dodaj numery linii do wyników | 
-c | 
Zlicz liczbę pasujących linii | 
-w | 
Dopasuj tylko całe słowa (nie fragmenty) | 
--color | 
Podświetl pasujący tekst w wynikach | 
-A NUM | 
Wyświetl NUM linii po dopasowaniu | 
-B NUM | 
Wyświetl NUM linii przed dopasowaniem | 
-C NUM | 
Wyświetl NUM linii przed i po dopasowaniu (kontekst) | 
3. Instrukcje krok po kroku z przykładami
3.1. Szukanie w jednym i wielu plikach
grep "user" dane.txt 
Wyświetli linie z „user” w pliku dane.txt.
grep "user" dane1.txt dane2.txt 
Szuka wzorca w obu plikach naraz.
3.2. Ignorowanie wielkości liter
grep -i "error" aplikacja.log 
Znajdzie „Error”, „ERROR”, „error” itd..
3.3. Szukanie „odwrotnie” (linia nie zawiera wzorca)
grep -v "success" aplikacja.log 
Wyświetli linie, w których nie występuje słowo „success”.
3.4. Rekurencyjne przeszukiwanie katalogu
grep -r "hasło" /etc 
Przeszukuje cały katalog /etc i podkatalogi.
3.5. Wyświetlanie nazw plików z dopasowaniem
grep -l "config" *.conf 
Wyświetli tylko nazwy plików, w których znajduje się „config”.
3.6. Dodawanie numerów linii
grep -n "root" /etc/passwd 
Każda linia z dopasowaniem będzie miała numer.
3.7. Podświetlenie pasującego tekstu
grep --color "login" autoryzacja.log 
Wyniki będą czytelniejsze dzięki kolorowi.
4. Wyrażenia regularne w grep
grep wspiera wyrażenia regularne, umożliwiając zaawansowane wyszukiwanie.
 Przykład – linia zaczynająca się od „abc”:
grep "^abc" dane.txt 
Przykład – linia kończąca się na „xyz”:
grep "xyz$" dane.txt 
Przykład – linia z cyfrą:
grep "[0-9]" dane.txt 
Aby używać rozszerzonych wyrażeń regularnych, należy wywołać polecenie jako grep -E lub egrep.
5. Zastosowania praktyczne
5.1. Analiza logów
- Szukanie błędów:
 
 grep -i "error\|warning\|critical" /var/log/syslog 
- Szukanie nieudanych logowań:
 
 grep "Failed password" /var/log/auth.log 
5.2. Przeszukiwanie procesów i usług
- Sprawdzenie działających usług:
 
 systemctl status sshd | grep "active" 
- Szukanie procesu po nazwie:
 
 ps aux | grep "nginx" 
6. Efektywność, aliasy i automatyzacja
Aby przyspieszyć codzienną pracę, dodaj aliasy do pliku .bashrc:
alias greplog='grep -i "error\|warning\|critical" /var/log/syslog' 
Teraz wpisanie greplog uruchomi gotowe polecenie.
7. Podsumowanie najważniejszych wskazówek
- Stosuj grep nie tylko do plików, ale także do przetwarzania wyników innych poleceń (np. z pipe: 
ls | grep "plik"). - Poznaj i korzystaj z wyrażeń regularnych – to podstawa zaawansowanej pracy z grep.
 - Używaj opcji rekurencji (
-r), aby przeszukiwać foldery. - Wyświetlaj kontekst wyników (
-A,-B,-C), by łatwiej analizować logi czy kod. - Podświetlaj wyniki z opcją 
--colordla czytelności. 
Polecenie grep należy do najbardziej uniwersalnych narzędzi Linuksa – z jego pomocą szybko wyłuskasz potrzebne dane z tekstu i usprawnisz codzienną pracę z terminalem.





