logo

Kaip rasti visus failus, kuriuose yra konkretus tekstas (eilutė) sistemoje „Linux“.

Tarkime, kad ieškote failo „Linux“, bet pamiršote jo pavadinimą. Prisimenate tik failo turinį. Kaip tokiu atveju rasite failą? Na, yra keletas naudingų metodų, kurie padės Linux sistemoje rasti failą, kuriame yra konkretus tekstas (arba eilutė). Eilutę turi nurodyti vartotojas. Taigi, pažvelkime į metodus:

Metodai, kaip rasti visus failus, kuriuose yra konkretus tekstas (eilutė) sistemoje „Linux“.

1 būdas: grep komanda

grep komanda Linux sistemoje, kuri naudojama ieškant failų, kuriuose yra konkretus tekstas ar eilutė. Pagal numatytuosius nustatymus jis mums rodo eilutes failuose, kuriuose yra konkretus tekstas. Jei prie jo pridėsime parinktį -l, komanda parodys mums visus failus, kuriuose yra konkretus tekstas.



Pavyzdys:

Tarkime, turime katalogą, kuriame yra du failai, pavadinti failas1.txt ir failas2.txt.

Failo1.txt turinys:



This line contains text.>

Failo2.txt turinys:

You should learn Data Structures & Algorithms.>

Dabar mes naudosime komandą grep su parinktimi -l, norėdami ieškoti teksto tam tikruose failuose, esančiuose dabartiniame kataloge. Žiūrėkite šį pavyzdį:

vlc atsisiųsti youtube vaizdo įrašus



Iš aukščiau pateikto pavyzdžio galima aiškiai pasakyti, kad komanda grep sėkmingai surado nurodytą eilutę faile1.txt. Dėl to ekrane buvo rodomas failo pavadinimas.

Taip pat galime naudoti parinktį -i, kad nurodytume grep ignoruoti didžiąsias ir mažąsias raides. Pažvelkite į šį pavyzdį:

git pridėti viską

Aukščiau mes pirmiausia panaudojome ankstesnę komandą, tačiau nurodyta eilutė yra Tekstas. Kadangi faile1.txt yra tekstas, o ne tekstas, į jį neatsižvelgiama. Čia paieškos operacija atliekama atsižvelgiant į atvejį. Tada mes panaudojome parinktį -i. Dėl to didžiosios ir mažosios raidės ignoruojamos ir nurodyta eilutė sutampa su ta, kuri yra faile1.txt. Taigi failo pavadinimas rodomas ekrane.

Kitas variantas yra naudoti parinktį -r. Ji siūlo grep rekursyviai ieškoti nurodytos eilutės dabartiniame kataloge ir jo pakatalogiuose. Pažvelkite į žemiau pateiktą pavyzdį:

failas1.txt ir failas2.txt yra failų aplanke, o ne dabartiniame kataloge, t. y. darbalaukyje. Taigi, jei nenaudosime parinkties -r, failai su atitinkančiomis eilutėmis nebus rasti, nes jų nėra dabartiniame kataloge. Bet mes naudojome parinktį -r ir taip pat praleidome failų pavadinimus. Dėl to grep ieško atitinkančių eilučių ne tik dabartiniame kataloge, bet ir jo pakatalogiuose. Taigi failas1.txt randamas ir rodomas ekrane.

2 būdas: Find ir grep komandų derinys

rasti yra dar viena naudinga „Linux“ komanda. Norėdami ieškoti failų, sujungsime find su parinktimi -type f ir parinktį -exec, kurią taikysime grep rastuose failuose. Pažvelkite į šį pavyzdį:

Akivaizdu, kad paieškos operacija suranda failą1.txt, nes jame yra atitinkama eilutė. Taigi failo pavadinimas rodomas ekrane.

3 būdas: suraskite failus, kuriuose yra konkretus tekstas, naudodami mc

Taip pat galime ieškoti failų naudodami Midnight Commander (mc). Atidarykite programą ir paspauskite Alt + Shift + ? Norėdami atidaryti dialogo langą Rasti failą. Viršuje pamatysite pradžios laukelį. Lauke įveskite kelią, kuriame yra failai. Tada po turinio laukeliu įveskite eilutę, kurios norite ieškoti. Mūsų atveju mes ieškojome teksto kataloge Failai:

Toliau aiškiai matyti, kad paieškos operacija sėkmingai surado failą1.txt, kuriame yra atitinkama eilutė.

shreya ghoshal

4 būdas: ripgrep komanda

ripgrep (parašyta kaip rg) yra komanda, kuri gali būti naudojama kaip grep komandos alternatyva. Įgyvendinimas pateikiamas žemiau:

bash masyvai

randamas failas1.txt, taigi failo pavadinimas rodomas ekrane.

5 būdas: patvirtinimo komanda

Dar viena komanda, kurią galime naudoti, yra ack komanda. Štai įgyvendinimas:

failas1.txt sėkmingai surastas ir rodomas ekrane.