Znajdź wszystkie pliki zawierające określony tekst
- 1519
- 347
- Pan Jeremiasz Więcek
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
Iznajdować
Polecenia, aby znaleźć wszystkie pliki zawierające określony tekst
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.tekstZa 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ładUż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
- « Użytkownik więzienia SSH do katalogu domowego w Linux
- Zainstaluj zaporę ogniową w systemie Centos Linux »