fgrep
- fgrep – alias lub samodzielna wersja narzędzia
grep
, która wyszukuje dokładne ciągi znaków (literały), ignorując składnię wyrażeń regularnych. - Używane, gdy zależy nam na wydajności i bezpieczeństwie dopasowania dosłownego – np. wyszukiwanie wzorców zawierających znaki specjalne.
- Dostępne w systemach GNU/Linux, BSD, macOS, a także jako część pakietu
grep
(GNU coreutils).
Składnia
Dział zatytułowany „Składnia”fgrep [opcje] WZORZEC [plik...]
- WZORZEC – literał, który ma zostać znaleziony (może zawierać znaki specjalne jak
.
lub*
, które nie będą interpretowane). - Może działać na jednym lub wielu plikach tekstowych, jak również na wejściu standardowym.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-i | Ignoruj wielkość liter przy dopasowaniu |
-v | Odwróć wynik – pokaż linie, które NIE zawierają wzorca |
-c | Zlicz liczbę dopasowań zamiast ich wyświetlania |
-n | Wyświetl numer linii przy każdym dopasowaniu |
-l | Wyświetl tylko nazwę pliku, jeśli zawiera dopasowanie |
-x | Dopasuj tylko całe linie |
-f <plik> | Wczytaj wiele wzorców z podanego pliku |
--help | Wyświetl pomoc |
--version | Wyświetl wersję narzędzia |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1. Znajdź linie zawierające dokładne słowo 'rm -rf' bez interpretacjifgrep 'rm -rf' skrypt.sh
# 2. Zignoruj wielkość liter przy szukaniu frazyfgrep -i 'Error' logi.txt
# 3. Zlicz wystąpienia konkretnej frazy w wielu plikachfgrep -c 'TODO' *.c
# 4. Szukaj wielu fraz zapisanych w pliku wzorcówfgrep -f wzorce.txt dokumentacja.txt
- Pierwszy przykład przydaje się do analizy poleceń w skryptach.
- Drugi pozwala wyszukiwać niezależnie od kapitalizacji – przydatne w logach.
- Trzeci prezentuje analizę statystyczną, np. liczby znaczników TODO w kodzie.
- Czwarty upraszcza pracę z większym zbiorem słów kluczowych.
- fgrep to techniczny alias dla
grep -F
, dlatego jest szybki i nie interpretuje regexów. - W nowoczesnych systemach jego użycie jest zniechęcane na rzecz jawnego
grep -F
, co ułatwia czytelność i unifikację skryptów. - W Bashu i Zsh można utworzyć alias:
alias fgrep='grep -F'
. - Nie nadaje się do wyszukiwania wzorców opartych na wyrażeniach regularnych – wtedy użyj
grep
lubegrep
(grep -E
).
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
fgrep: file not found | Podany plik nie istnieje | Sprawdź ścieżkę lub użyj pełnej ścieżki |
Binary file matches | Dopasowanie znalezione w pliku binarnym | Użyj opcji --binary-files=text lub przefiltruj pliki |
Brak wyników | Szukany wzorzec zawiera znaki specjalne | Upewnij się, że używasz dosłownego fgrep lub grep -F |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man fgrep – dokumentacja klasyczna.
- GNU grep manual – dokumentacja narzędzia
grep
, w tym trybu-F
. - POSIX grep spec – definicja zgodności POSIX.