logo

Kā atrast visus failus, kas satur noteiktu tekstu (virkni) operētājsistēmā Linux

Pieņemsim, ka meklējat failu operētājsistēmā Linux, bet esat aizmirsis tā nosaukumu. Jūs atceraties tikai faila saturu. Kā jūs atradīsit failu šajā gadījumā? Ir dažas noderīgas metodes, kas palīdzēs jums atrast failu, kurā ir noteikts teksts (vai virkne) operētājsistēmā Linux. Virkne ir jānorāda lietotājam. Tātad, apskatīsim metodes:

Metodes, kā atrast visus failus, kas satur noteiktu tekstu (virkni) operētājsistēmā Linux

1. metode: grep komanda

grep komanda operētājsistēmā Linux, ko izmanto, lai meklētu failus, kas satur noteiktu tekstu vai virkni. Pēc noklusējuma tas parāda rindas failos, kas satur konkrēto tekstu. Ja pievienosim tai opciju -l, komanda parādīs visus failus, kas satur konkrēto tekstu.



Piemērs:

Pieņemsim, ka mums ir direktorijs, kurā ir divi faili ar nosaukumu file1.txt un file2.txt.

Faila faila1.txt saturs:



java virknes formatēšana
This line contains text.>

Faila faila2.txt saturs:

binārās meklēšanas algoritms
You should learn Data Structures & Algorithms.>

Tagad mēs izmantosim komandu grep ar opciju -l, lai meklētu tekstu noteiktajos failos, kas atrodas pašreizējā direktorijā. Skatiet šādu piemēru:



No iepriekš minētā piemēra var skaidri pateikt, ka grep komanda ir veiksmīgi atradusi doto virkni failā1.txt. Tā rezultātā ekrānā tika parādīts faila nosaukums.

Mēs varam arī izmantot opciju -i, lai liktu grep ignorēt reģistru. Apskatiet šādu piemēru:

javascript komentārs

Iepriekš mēs vispirms izmantojām iepriekšējo komandu, bet dotā virkne ir Teksts. Tā kā failā 1.txt ir teksts, nevis teksts, tas netiek ņemts vērā. Šeit meklēšana tiek veikta, paturot prātā gadījumu. Pēc tam mēs izmantojām opciju -i. Rezultātā reģistrs tiek ignorēts un dotā virkne sakrīt ar to, ko satur fails1.txt. Tādējādi faila nosaukums tiek parādīts ekrānā.

Vēl viena variācija ir izmantot -r opciju. Tas iesaka grep rekursīvi meklēt doto virkni pašreizējā direktorijā un tā apakšdirektorijos. Apskatiet tālāk redzamo piemēru:

fails1.txt un fails2.txt atrodas failu mapē, nevis pašreizējā direktorijā, t.i., darbvirsmā. Tātad, ja neizmantosim opciju -r, faili ar atbilstošām virknēm netiks atrasti, jo tie nepastāv pašreizējā direktorijā. Bet mēs izmantojām opciju -r un arī izlaidām failu nosaukumus. Rezultātā grep meklē atbilstošas ​​virknes ne tikai pašreizējā direktorijā, bet arī tā apakšdirektorijās. Tādējādi fails1.txt tiek atrasts un parādīts ekrānā.

2. metode: Find un grep komandu kombinācija

atrast ir vēl viena noderīga komanda operētājsistēmā Linux. Mēs apvienosim atrašanu ar opciju -type f, lai meklētu failus, un opciju -exec, lai lietotu grep atrastajiem failiem. Apskatiet šādu piemēru:

Skaidrs, ka meklēšanas darbība atrod failu 1.txt, jo tajā ir atbilstošā virkne. Tādējādi faila nosaukums tiek parādīts ekrānā.

js komplekts

3. metode: ar mc atrodiet failus, kas satur noteiktu tekstu

Mēs varam arī meklēt failus, izmantojot Midnight Commander (mc). Atveriet lietojumprogrammu un nospiediet Alt + Shift + ? lai atvērtu dialoglodziņu Find File. Augšpusē redzēsit sākuma lodziņu. Lodziņā ierakstiet ceļu, kur atrodas faili. Pēc tam zem satura lodziņa ierakstiet virkni, kurā vēlaties meklēt. Mūsu gadījumā mēs meklējām tekstu direktorijā Faili:

Tālāk ir skaidri redzams, ka meklēšanas darbība ir veiksmīgi atradusi failu1.txt, kurā ir atbilstošā virkne.

4. metode: ripgrep komanda

ripgrep (rakstīts kā rg) ir komanda, ko var izmantot kā alternatīvu komandai grep. Īstenošana ir norādīta zemāk:

fails1.txt tiek atrasts, un līdz ar to faila nosaukums tiek parādīts ekrānā.

alfabēts kā skaitļi

5. metode: ack komanda

Vēl viena komanda, ko varam izmantot, ir komanda ack. Šeit ir īstenošana:

fails1.txt ir veiksmīgi atrasts un parādīts ekrānā.