Zaawansowane wyszukiwanie z użyciem find i grep


1. find – wyszukiwanie plików i katalogów

find /ścieżka -iname "wzorzec"

Szukamy plików lub katalogów według nazwy ze zignorowaniem wielkości liter (opcja -iname).
Przykład: find /var/log -iname "*.LOG" znajdzie wszystkie pliki z rozszerzeniem .log lub .LOG.

find . -type f

Szukamy wyłącznie zwykłych plików w bieżącym katalogu i jego podkatalogach. (-type f = file)

find . -type d

Szukamy tylko katalogów. (-type d = directory)

find /home -mtime -7

Wyszukujemy pliki zmodyfikowane w ciągu ostatnich 7 dni. (-mtime to czas modyfikacji, -7 oznacza mniej niż 7 dni temu)

find /var/www -size +10M

Wyszukujemy pliki większe niż 10 megabajtów. (+10M oznacza większe niż 10MB)

Co oznaczają opcje:


2. grep – wyszukiwanie tekstu wewnątrz plików lub strumieni danych

grep "wzorzec" plik.txt

Wyszukuje linie zawierające wzorzec w podanym pliku.

grep -i "blad" plik.txt

Ignoruje wielkość liter, znajdzie "blad", "Blad", "BLAD" itd.

grep -r "error" /var/log

Rekurencyjnie wyszukuje słowo "error" we wszystkich plikach w katalogu /var/log.

grep -n "start" plik.txt

Wyświetla numer linii, w której znaleziono dopasowanie.

grep -c "fail" plik.txt

Liczy liczbę linii, które zawierają "fail".

grep -v "warning" plik.txt

Wyświetla linie, które nie zawierają słowa "warning".

grep -l "TODO" *.c

Wyświetla tylko nazwy plików z rozszerzeniem .c, w których znaleziono słowo "TODO".

Opisy opcji:


3. Łączenie find z grep – wyszukiwanie wzorców tekstowych w określonych plikach

find /var/www -type f -name "*.php" -exec grep -l "mysqli_connect" {} \;

Znajduje wszystkie pliki .php w katalogu /var/www, które zawierają tekst "mysqli_connect".

find /var/www -type f -iname "*.conf" -exec grep -iH "server" {} \;

Znajduje pliki konfiguracyjne (bez zwracania uwagi na wielkość liter w nazwie) zawierające słowo "server" (ignorując wielkość liter, pokazując nazwy plików i linie).

find . -iname "test*" -print0 | xargs -0 grep -l "error"

Wyszukuje pliki zaczynające się na "test" i sprawdza, czy zawierają słowo "error". Bezpieczne dla nazw z odstępami dzięki -print0 i xargs -0.


Praktyczne wskazówki 


Podsumowanie

find i grep to podstawowe, lecz bardzo potężne narzędzia do wyszukiwania plików i danych w nich zawartych, ich właściwe stosowanie znacząco ułatwia administrowanie systemami i skryptowanie operacji.


Revision #1
Created 23 November 2025 13:31:08 by Tomasz Konieczny
Updated 23 November 2025 13:33:04 by Tomasz Konieczny