grep

Hur man använder Grep rekursivt?

Hur man använder Grep rekursivt?

Grep-kommandot används för att söka text från filer. Det är ett mångsidigt mönster som åberopar grep med -r. -R-sökfiler rekursivt från underkataloger, från den aktuella katalogen. Kommandot körs från toppkatalogen. Till exempel / home / abc etc. Grep är ett verktyg för att få beroenden när man flyttar från en värd till en annan. Om vi ​​inte nämner en katalog i kommandot kommer grep att söka i den aktuella arbetskatalogen. För att utföra grep rekursivt finns det tre argument som vi har tagit från man-sidan för grep.

$ Man grep

-inkluderar används för en exakt matchning i filen som kan vara filer som finns i katalogen, eller som standard. -r innebär katalognamnet, som beskrivits tidigare, om ingen sökväg definieras i kommandot, beaktas den aktuella katalogen. Den följer bara en symbolisk länk. -R skiljer sig ganska från -r eftersom det läser alla filer, inte bara de symboliskt definierade.

Syntax

Grep -R “mönster” / sökväg /

"Sökväg" är en "katalogsökväg". Och mönstret är ett ord eller en sträng du vill söka efter.

Nödvändig förutsättning

För att förstå greps rekursiva funktion måste du ha Linux-operativsystem. Efter installationen konfigurerar du Linux genom att ange ett användarnamn och lösenord. När du har gjort det får du behörighet att komma åt alla applikationer i det operativsystemet.

Alla filer i Linux

Detta kommando hjälper dig att söka i alla filnamn i katalogerna på ditt system. Eftersom -l bara tillhandahåller filnamnen, -r hjälper till att söka symboliskt varhelst det önskade ordet finns, kommer som utdata. Medan ”Aqsa” är det ord vi vill söka efter. Detta kommando saknar sökväg till katalogen, för här vill vi ha alla möjliga filnamn i systemet. Om vi ​​har angett en sökväg kommer sökprocessen att ha begränsningar.

$ grep -r -l “aqsa”

Enkelt exempel

För att förstå dilemmaet med rekursivitet med hjälp av banan introducerade vi ett enkelt exempel för att vägleda användaren. Som visas i kommandot nedan är "mångsidig" ett ord vi vill söka efter. Efter ordet finns det en katalog där vi vill sortera. Den visar både filnamnet med katalogen och hela texten inuti filen. -r visar också binära filer.

$ grep -r mångsidig / home / aqsayasin

Rekursivt sökning i alla kataloger och underkataloger

Eftersom vi alla är bekanta med funktionerna "*" i söksystemet. Det innebär sortering i alla filer. Så kommer kommandot att visa respektive data från alla filer. ”Hus” -ordet ska sökas rekursivt med grep-uttalandet.

$ grep -r “hus” *

Den visar filnamnen och texten inuti genom att markera det sökta ordet, vilket indikerar att det finns en matchning. Endast en enda textfil innehöll det ordet, vilket visas i den resulterande raden.

Grep rekursivt för en sträng

Till skillnad från ovanstående exempel fungerar grep på en sträng i den specifika katalogen. / etc / är kommandokatalogen som innebär att sökning sker genom denna katalog, datorns IP-adress. Dess information sparas i katalogen, med namn på filer som finns i katalogen / etc / ppp /. Alternativet är namnet på en viss mapp. Detta kommando läser alla filer under den angivna katalogen.

$ grep -r “192.168.1.5 ”/ etc /

Namnen på filen i utdata kan undertryckas med hjälp av alternativet-h. Kommandot är som följer.

$ grep -h -R "192.168.1.5 "/ etc /

Båda separatorerna kan skrivas som -h -R i ett kommando.

Sök rekursivt utan en katalog

Rekursiv sökning kan också göras utan att använda en katalog genom att helt enkelt söka efter ett ord med ett enda ord.

$ grep -r fru

Ordet "fru" söks automatiskt i alla kataloger, för när det inte finns någon katalog som nämns fortsätter sökprocessen i alla filer och kataloger i systemet. Det kommer också att innehålla binära filer tillsammans med textfilerna. Filadress och filnamn visas först. Medan texten i filen visas. Inte bara klartext utan också grep-kommandot som tillämpas på filtexten visas, dvs.e., grep 'Jag är en husfru'.

Grep Exakt flera mönster

Att söka i flera metoder är också en funktion som erhålls genom kommandot grep. “-Rw” används för att utforska den specifika matchningen. “-E” används för att lägga till mer än ett mönster i kommandot. Katalogvägen nämns för att göra det bekvämt för systemet att söka. Binära filer exkluderas eftersom gränsen införs när du lägger till en katalog i kommandot. Utgången innehåller filkatalogens namn och filnamn. Dessutom visas texten i filen.

$ grep -rw '/ home / aqsayasin /'

Sökta ord är markerade i filtexten. Båda söktermerna måste finnas i en enda fil. Det finns en sannolikhet för att det finns ord i olika filer, vilket visas i utdata.

Grep rekursivt med - -Inkludera

“-Include” matchar det angivna filmönstret och fungerar effektivt eftersom det också påskyndar sökprocessen, som fungerar de flesta av filerna. Här tar den inte med binära eller kompilerade eller bildfiler i den. Filtillägget används för att lägga till begränsningar i kommandot. Katalogen nämns för att ge önskad utdata. Det inkluderade nyckelordet är ganska avancerat i grep jämfört med andra funktioner.

$ grep -r - -include = ”* txt” “syster” / home / aqsayasin

Slutsats

I den här artikeln har vi förklarat varje exempel för att visa användningen av grep rekursiv funktion. En rekursiv funktion används för att söka med begränsningar och exakt i alla kataloger i systemet. Om en katalog inte finns, betraktas den aktuella katalogen som standard.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...