Să presupunem că căutați un fișier în Linux, dar i-ați uitat numele. Vă amintiți doar conținutul fișierului. Cum veți găsi dosarul în acest caz? Ei bine, există câteva metode utile care vă vor ajuta să găsiți un fișier care conține un anumit text (sau șir) în Linux. Șirul trebuie specificat de către utilizator. Deci, să aruncăm o privire asupra metodelor:
Metode pentru a găsi toate fișierele care conțin text specific (șir) pe Linux
Metoda 1: comanda grep
comanda grep în Linux, care este folosit pentru a căuta fișiere care conțin un anumit text sau șir. În mod implicit, ne arată liniile din fișierele care conțin textul respectiv. Dacă îi adăugăm opțiunea -l, comanda ne va afișa toate fișierele care conțin textul respectiv.
Exemplu:
Să presupunem că avem un director care conține două fișiere numite fișier1.txt și fișier2.txt.
Conținutul fișierului1.txt:
This line contains text.>
Conținutul fișierului2.txt:
You should learn Data Structures & Algorithms.>
Acum, vom folosi comanda grep cu opțiunea -l pentru a căuta text în fișierele date aflate în directorul curent. Vezi următorul exemplu:

Din exemplul de mai sus se poate spune clar că comanda grep a găsit cu succes șirul dat în fișier1.txt. Ca rezultat, a afișat numele fișierului pe ecran.
De asemenea, putem folosi opțiunea -i pentru a-i spune grep să ignore cazul. Uită-te la următorul exemplu:

Mai sus, am folosit mai întâi comanda anterioară, dar șirul dat este Text. Deoarece fișierul1.txt conține text, nu Text, acesta nu este luat în considerare. Aici, operațiunea de căutare se efectuează ținând cont de cazul. Apoi, am folosit opțiunea -i. Ca rezultat, cazul este ignorat și șirul dat se potrivește cu cel pe care îl conține fișierul1.txt. Prin urmare, numele fișierului este afișat pe ecran.
O altă variantă este utilizarea opțiunii -r. Sugerează grep să caute recursiv șirul dat în directorul curent și subdirectoarele acestuia. Uită-te la exemplul de mai jos:

file1.txt și file2.txt sunt localizate în folderul fișiere, nu în directorul curent, adică pe desktop. Deci, dacă nu folosim opțiunea -r, nu vor fi găsite fișiere cu șiruri de caractere potrivite, deoarece nu există în directorul curent. Dar am folosit opțiunea -r și am omis, de asemenea, numele fișierelor. Ca rezultat, grep caută șiruri de caractere potrivite nu numai în directorul curent, ci și în subdirectoarele acestuia. Prin urmare, fișierul1.txt este găsit și afișat pe ecran.
Metoda 2: Combinația de comandă find și grep
găsi este o altă comandă utilă în Linux. Vom combina find cu opțiunea -type f pentru a căuta fișiere și opțiunea -exec pentru a aplica grep pe fișierele care sunt găsite. Uită-te la următorul exemplu:

multiplexarea
În mod clar, operația de căutare găsește fișierul 1.txt deoarece conține șirul potrivit. Prin urmare, numele fișierului este afișat pe ecran.
Metoda 3: Găsiți fișiere care conțin text specific cu mc
De asemenea, putem căuta fișiere folosind Midnight Commander (mc). Deschideți aplicația și apăsați Alt + Shift + ? pentru a deschide caseta de dialog Găsiți fișier. Veți vedea o casetă Starting în partea de sus. În casetă, tastați calea unde există fișierele. Apoi, sub caseta de conținut, tastați șirul pe care doriți să îl căutați. În cazul nostru, am căutat text în directorul Fișiere:

Se poate observa clar mai jos că operația de căutare a găsit cu succes fișierul1.txt, care conține șirul potrivit.

Metoda 4: comanda ripgrep
ripgrep (scris ca rg) este o comandă care poate fi folosită ca alternativă la comanda grep. Implementarea este mai jos:

fișier1.txt este găsit și, prin urmare, numele fișierului este afișat pe ecran.
Metoda 5: comanda ack
O altă comandă pe care o putem folosi este comanda ack. Iată implementarea:

fișier1.txt este găsit și afișat cu succes pe ecran.