Anta at du leter etter en fil i Linux, men du har glemt navnet. Du husker bare innholdet i filen. Hvordan finner du filen i denne saken? Vel, det er noen nyttige metoder som vil hjelpe deg å finne en fil som inneholder en bestemt tekst (eller streng) i Linux. Strengen må spesifiseres av brukeren. Så la oss ta en titt på metodene:
Metoder for å finne alle filer som inneholder spesifikk tekst (streng) på Linux
Metode 1: grep kommando
grep kommando i Linux som brukes til å søke etter filer som inneholder en bestemt tekst eller streng. Som standard viser den oss linjene i filene som inneholder den aktuelle teksten. Hvis vi legger til alternativet -l, vil kommandoen vise oss alle filene som inneholder den aktuelle teksten.
Eksempel:
Anta at vi har en katalog som inneholder to filer kalt file1.txt og file2.txt.
Innhold i fil1.txt:
This line contains text.>
Innhold i fil2.txt:
You should learn Data Structures & Algorithms.>
Nå vil vi bruke grep-kommandoen med -l-alternativet for å søke etter tekst i gitte filer som ligger inne i gjeldende katalog. Se følgende eksempel:

Det kan tydelig sies fra eksemplet ovenfor at grep-kommandoen har funnet den gitte strengen i file1.txt. Som et resultat viste den filnavnet på skjermen.
Vi kan også bruke -i-alternativet for å fortelle grep å ignorere saken. Se på følgende eksempel:
cloud computing-applikasjoner

Ovenfor har vi først brukt den forrige kommandoen, men den gitte strengen er Tekst. Fordi fil1.txt inneholder tekst, ikke tekst, tas den ikke i betraktning. Her utføres søkeoperasjonen med tanke på saken. Deretter brukte vi alternativet -i. Som et resultat blir saken ignorert og den gitte strengen samsvarer med den som file1.txt inneholder. Derfor vises filnavnet på skjermen.
En annen variant er å bruke -r-alternativet. Det foreslår at grep søker etter den gitte strengen i gjeldende katalog og dens underkataloger rekursivt. Se på eksemplet nedenfor:

file1.txt og file2.txt er plassert i filer-mappen, ikke i gjeldende katalog, dvs. skrivebordet. Så hvis vi ikke bruker alternativet -r, vil ingen filer med samsvarende strenger bli funnet fordi de ikke eksisterer i gjeldende katalog. Men vi brukte alternativet -r og utelot også filnavnene. Som et resultat søker grep etter samsvarende strenger i ikke bare gjeldende katalog, men også i underkatalogene. Derfor blir file1.txt funnet og vist på skjermen.
Metode 2: Kombinasjonen av find og grep-kommandoen
finne er en annen nyttig kommando i Linux. Vi vil kombinere finn med alternativet -type f for å søke etter filer og alternativet -exec for å bruke grep på filene som blir funnet. Se på følgende eksempel:

Det er klart at søkeoperasjonen finner file1.txt ettersom den inneholder den samsvarende strengen. Derfor vises filnavnet på skjermen.
Metode 3: Finn filer som inneholder spesifikk tekst med mc
Vi kan også søke etter filer ved hjelp av Midnight Commander (mc). Åpne programmet og trykk Alt + Shift + ? for å åpne dialogboksen Finn fil. Du vil se en startboks øverst. I boksen skriver du inn banen der filene finnes. Skriv deretter inn strengen du vil søke i, under innholdsboksen. I vårt tilfelle søkte vi etter tekst i filkatalogen:

Det kan tydelig ses nedenfor at søkeoperasjonen har funnet file1.txt, som inneholder den samsvarende strengen.

Metode 4: ripgrep kommando
ripgrep (skrevet som rg) er en kommando som kan brukes som et alternativ til grep-kommandoen. Implementeringen er nedenfor:
modifikasjonstaster

file1.txt er funnet, og dermed vises filnavnet på skjermen.
Metode 5: ack-kommando
Enda en kommando vi kan bruke er ack-kommandoen. Her er implementeringen:

file1.txt er funnet og vist på skjermen.