Jak znaleźć wszystkie pliki zawierające określony tekst w Linux

Jak znaleźć wszystkie pliki zawierające określony tekst w Linux

Ten samouczek nauczy Cię, jak rekurencyjnie wyszukiwać pliki zawierające określony ciąg w Linux za pomocą wiersza poleceń. W tym samouczku używa polecenia „GREP” do wyszukiwania ciągów w plikach. Alternatywnie możesz użyć polecenia Znajdź do wyszukiwania plików z określoną zawartością.

Podstawowa składnia do wyszukiwania tekstu z poleceniem GREP:

grep -rl „wyszukiwanie”/ścieżka/do/serch/dir
1grep -rl „wyszukiwanie”/ścieżka/do/serch/dir

Polecenie GREP oferuje inne przydatne opcje znalezienia określonego tekstu w systemach plików.

  • -r, -rekurencyjny: Wyszukaj pliki rekurencyjnie
  • -R,--dereference-rekusyjne: Wyszukiwanie plików rekurencyjnie i śledź symbolizacje
  • --include = file_pattern: Wyszukaj tylko pliki pasujące do pliku_pattern
  • --exclude = file_pattern: Pomiń pliki i katalogi pasujące do pliku_pattern
  • --exclude-FROM = plik: Pomiń pliki pasujące do dowolnego wzorca pliku z pliku
  • --exclude-dir = wzór: katalogi, które dopasowują wzór zostanie pominięty.
  • -L,-Pliki-z dopasowaniem: Wydrukuj nazwy plików zawierających brak dopasowania
  • -L,-Pliki z meczami: Wydrukuj ciąg zawierający tylko nazwy plików
  • -I, --gnore-case: ignoruj ​​przypadek ciągu wyszukiwania
  • -e, --regexp = wzór: Użyj wzorca, aby wyszukiwać lub określić wiele ciągów wyszukiwania
  • -W,--Word-Regexp: zmusza do dopasowania całych słów

Istnieje kilka sposobów korzystania z polecenia GREP do wyszukiwania tekstu. Omówmy kilka przykładów wyszukiwania tekstu/ciągu w systemie plików.

  1. Wyszukaj pojedynczy ciąg we wszystkich plikach
  2. Poniższe polecenie przykładowe wyszukiwa ciąg „Błąd” we wszystkich plikach w katalogu /var /log katalog.

    grep -rlw „błąd” /var /log  
    Wyszukaj określony tekst we wszystkich plikach za pomocą wiersza poleceń

  3. Wyszukaj wiele ciągów we wszystkich plikach
  4. -mi Przełącznik można również wykorzystać do znalezienia wielu ciągów. Jest to porównywalne z Egrep program. Poniższy przykład będzie szukał "Błąd" I "Ostrzeżenie" we wszystkich plikach w /var/log katalog i jego subkredyty.

    grep -rlw -e „błąd” -e „ostrzeżenie” /var /log  
    Wyszukaj wiele ciągów we wszystkich plikach z wierszem poleceń

  5. Wyszukaj ciąg w określonych plikach
  6. Możesz wyszukiwać ciągami w plikach, które pasują do kryteriów nazwy pliku. Poniższe polecenie wyszukuje "Błąd" w plikach z .dziennik rozszerzenie w /var/log katalog i jego podwodne.

    grep -rlw --include = "*.log „-e„ błąd ” /var /log  

  7. Wyklucz niektóre pliki z wyszukiwania
  8. Możesz użyć --wykluczać opcja w znalezieniu, aby wykluczyć niektóre pliki, które pasują do niektórych kryteriów nazwy pliku. Na przykład możesz wykluczyć pliki za pomocą .tekst rozszerzenie.

    grep -rlw --exclude = "*.txt "-e" tecadmin " /var /log  

  9. Wyklucz niektóre katalogi z wyszukiwania
  10. Możesz także pominąć przeszukiwanie niektórych katalogów. Na przykład nie wyszukaj plików ciągów w żadnym folderze z Apache2 na jego nazwę.

    grep -rlw --exclude -dir = "*apache2*" -e "tecadmin" /var /log  

Wniosek

Nauczyłeś się wyszukiwać określony tekst w plikach w systemie plików Linux w tym samouczku.