Znajdź wszystkie pliki zawierające określony tekst

Znajdź wszystkie pliki zawierające określony tekst

Prawdopodobnie już wiesz, jak korzystać z Grep Polecenie do wyszukiwania ciągu tekstu w pliku w Linux. Ale co, jeśli chcesz pobrać listę plików zawierających ciąg tekstowy? To jest zadanie najlepiej dopasowane Grep lub polecenie Znajdź. Pokażemy ci, jak to zrobić w tym przewodniku.

W tym samouczku nauczysz się:

  • Jak używać Grep I znajdować Polecenia, aby znaleźć wszystkie pliki zawierające określony tekst
Znajdź wszystkie pliki zawierające określony tekst Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Każda dystrybucja Linux
Oprogramowanie Nie dotyczy
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wyszukaj określony tekst z poleceniem GREP



Bez wątpienia, Grep jest najlepszym poleceniem do wyszukiwania pliku (lub plików) dla określonego tekstu. Domyślnie zwraca wszystkie wiersze pliku zawierające określony ciąg. To zachowanie można zmienić za pomocą -L opcja, która instruuje Grep Aby zwrócić tylko nazwy plików zawierających określony tekst.

Teraz zobaczmy to w akcji. Użyj następującej składni w terminalu i określ wszystkie pliki, które chcesz wyszukać, dołączając ich ścieżkę i nazwę do końca polecenia.

$ grep -l przykładowy dokument1.Document TXT2.tekst 
Za pomocą GREP do znalezienia, które pliki zawierają określony tekst

Wyjście z Grep pokazuje nam, że nasz ciąg wyszukiwania „przykład” istnieje tylko w Dokument1.tekst plik. Nie zapominaj też, że wieloznaczne są dozwolone i mogą pomóc w tworzeniu Grep bardziej wydajny:

$ grep -l przykład *.tekst 

Ale bądźmy realistyczni. Jeśli szukasz tylko kilku plików, prawdopodobnie nie skończyłbyś przeczytania tego przewodnika. Najprawdopodobniej masz katalog (lub wiele katalogów) pełen plików, które musisz wyszukać. To nie jest problem Grep Tak długo, jak uwzględniasz -R (Recursive) Opcja w poleceniu.

$ grep -lr przykład/ścieżka/do/katalog1/*.txt/ścieżka/do/katalog2 

Lub, aby przeszukać obecny katalog i wszystkie podkatalogowe, pomiń ścieżkę na końcu polecenia.

$ GREP -LR Przykład 
Używanie GREP do wyszukiwania rekurencyjnego

Rozważ także użycie -I opcja, która sprawia, że ​​obudowa o ciągach wyszukiwania jest niewrażliwość. Aby dowiedzieć się o reszcie Grep Funkcje polecenia szczegółowo, sprawdź nasze wprowadzenie do GREP Guide. Strona Man zawiera również pomocne informacje:

$ grep man 

Wyszukaj określony tekst za pomocą komendy Znajdź

Jeśli wolisz użyć znajdować Polecenie, możesz użyć następującej składni polecenia:

$ find/ścieżka/do/search -Type f -exec grep -l "Your -Search -String"  \; 
Korzystanie z komendy FINK do wyszukiwania plików zawierających ciąg tekstowy

Jeszcze raz, dodaj -I do Grep część polecenia ignorowanie sprawy. znajdować I Grep Obie metody działają dobrze. Użyj dowolnego preferowanego.

Wniosek

W tym przewodniku widzieliśmy, jak znaleźć wszystkie pliki zawierające określony tekst w Linux. Nauczyliśmy się dwóch metod wiersza poleceń, aby wykonać zadanie, ale jeszcze więcej istnieje.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Podstawowe polecenia Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Jak znaleźć ciąg lub tekst w pliku w Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Zainstaluj Arch Linux na stacji roboczej VMware
  • Ubuntu 20.04 Przewodnik
  • Rzeczy do zainstalowania na Ubuntu 22.04