Załóżmy, że szukasz pliku w systemie Linux, ale zapomniałeś jego nazwy. Zapamiętujesz tylko zawartość pliku. Jak w tym przypadku znajdziesz plik? Cóż, istnieje kilka przydatnych metod, które pomogą Ci znaleźć plik zawierający określony tekst (lub ciąg znaków) w systemie Linux. Ciąg musi zostać określony przez użytkownika. Przyjrzyjmy się więc metodom:
Metody wyszukiwania wszystkich plików zawierających określony tekst (ciąg znaków) w systemie Linux
Metoda 1: polecenie grep
polecenie grepa w systemie Linux używany do wyszukiwania plików zawierających określony tekst lub ciąg znaków. Domyślnie pokazuje nam linie w plikach, które zawierają określony tekst. Jeśli dodamy do tego opcję -l, polecenie pokaże nam wszystkie pliki zawierające dany tekst.
Przykład:
Załóżmy, że mamy katalog zawierający dwa pliki o nazwach plik1.txt i plik2.txt.
Zawartość pliku 1.txt:
This line contains text.>
Zawartość pliku2.txt:
You should learn Data Structures & Algorithms.>
Teraz użyjemy polecenia grep z opcją -l do wyszukiwania tekstu w podanych plikach znajdujących się w bieżącym katalogu. Zobacz następujący przykład:

Z powyższego przykładu jasno wynika, że polecenie grep pomyślnie odnalazło podany ciąg znaków w pliku1.txt. W rezultacie wyświetliła nazwę pliku na ekranie.
Możemy również użyć opcji -i, aby poinformować grep, aby ignorował wielkość liter. Spójrz na następujący przykład:

Powyżej najpierw użyliśmy poprzedniego polecenia, ale podany ciąg znaków to Tekst. Ponieważ plik1.txt zawiera tekst, a nie tekst, nie jest on brany pod uwagę. W tym przypadku operacja wyszukiwania jest wykonywana z uwzględnieniem przypadku. Następnie użyliśmy opcji -i. W rezultacie wielkość liter jest ignorowana, a podany ciąg znaków jest zgodny z tym, który zawiera plik1.txt. W związku z tym nazwa pliku zostanie wyświetlona na ekranie.
Inną odmianą jest użycie opcji -r. Sugeruje grepowi rekurencyjne wyszukiwanie podanego ciągu w bieżącym katalogu i jego podkatalogach. Spójrz na poniższy przykład:

plik1.txt i plik2.txt znajdują się w folderze plików, a nie w bieżącym katalogu, czyli na pulpicie. Jeśli więc nie użyjemy opcji -r, nie zostaną znalezione żadne pliki z pasującymi ciągami, ponieważ nie istnieją one w bieżącym katalogu. Ale użyliśmy opcji -r i pominęliśmy także nazwy plików. W rezultacie grep wyszukuje pasujące ciągi znaków nie tylko w bieżącym katalogu, ale także w jego podkatalogach. W związku z tym plik1.txt zostanie znaleziony i wyświetlony na ekranie.
Metoda 2: Kombinacja polecenia find i grep
znajdować to kolejne przydatne polecenie w systemie Linux. Połączymy find z opcją -type f, aby wyszukać pliki i opcją -exec, aby zastosować grep do znalezionych plików. Spójrz na następujący przykład:
jak znaleźć rozmiar monitora

Oczywiście operacja wyszukiwania znajduje plik1.txt, ponieważ zawiera on pasujący ciąg. W związku z tym nazwa pliku zostanie wyświetlona na ekranie.
Metoda 3: Znajdź pliki zawierające określony tekst za pomocą mc
Pliki możemy wyszukiwać także za pomocą Midnight Commandera (mc). Otwórz aplikację i naciśnij Alt + Shift + ? , aby otworzyć okno dialogowe Znajdź plik. Na górze zobaczysz pole startowe. W polu wpisz ścieżkę, w której znajdują się pliki. Następnie pod polem treści wpisz ciąg, który chcesz przeszukać. W naszym przypadku szukaliśmy tekstu w katalogu Files:

Poniżej wyraźnie widać, że operacja wyszukiwania pomyślnie znalazła plik1.txt, który zawiera pasujący ciąg.

Metoda 4: polecenie ripgrep
ripgrep (zapisane jako rg) to polecenie, którego można użyć jako alternatywy dla polecenia grep. Implementacja znajduje się poniżej:

plik1.txt zostanie znaleziony i nazwa pliku zostanie wyświetlona na ekranie.
Metoda 5: polecenie potwierdzenia
Jeszcze innym poleceniem, którego możemy użyć, jest polecenie potwierdzenia. Oto implementacja:

plik1.txt został pomyślnie znaleziony i wyświetlony na ekranie.