Hur använder man Grep rekursivt?

How Use Grep Recursively



Kommandot Grep används för att söka efter text från filer. Det är ett mångsidigt mönster som åberopar grep med –r. –R -alternativ sökfiler rekursivt från underkataloger, med början från den aktuella katalogen. Kommandot körs från katalogen på översta nivån. Till exempel /home /abc etc. Grep är ett verktyg för att erhålla beroenden medan du 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.

$Mangrepp







–Include 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 är definierad i kommandot beaktas den aktuella katalogen. Den följer bara en symbolisk länk. –R skiljer sig ganska mycket från –r eftersom den läser alla filer, inte bara de symboliskt definierade.



Syntax

Grepp –R mönster/väg/

Sökväg är en katalogvä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å grep rekursiv 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 igenom alla filnamn i systemkatalogerna. Eftersom –l bara tillhandahåller filnamnen, –r kommer att hjälpa till att söka symboliskt varhelst det önskade ordet finns, kommer som utmatning. Medan Aqsa är ordet vi vill söka efter. Detta kommando är utan någon sökväg till katalogen eftersom vi här vill ha alla möjliga filnamn i systemet. Om vi ​​har angett en sökväg har sökprocessen begränsningar.

$grepp–R –l aqsa



Enkelt exempel

För att förstå reklamets dilemma med hjälp av vägen introducerade vi ett enkelt exempel för att vägleda användaren. Som visas i kommandot nedan är mångsidigt ett ord vi vill söka. Efter ordet finns det en katalog där vi vill sortera. Det visar både filnamnet med katalogen och hela texten inuti filen. –R visar också de binära filerna.

$grepp–R mångsidig/Hem/aqsayasin

Sök rekursivt i alla kataloger och underkataloger

Eftersom vi alla är bekanta med funktionaliteten för * i söksystemet. Det innebär sortering i alla filer. Så kommer kommandot att visa respektive data från alla filer. Husordet ska sökas rekursivt med grep -satsen.

$grepp–R hus*

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

Grep rekursivt för en sträng

Till skillnad från exemplen ovan fungerar grep på en sträng i den specifika katalogen. / etc/ är kommandokatalogen som innebär att sökningen sker via den här katalogen, en dators 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 kommer att läsa alla filer under den angivna katalogen.

$grepp–R 192.168.1.5/etc/

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

$grepp -h -R '192.168.1.5' /etc/

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

Sök rekursivt utan 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.

$grepp–R fru

Hustruordet söks automatiskt i alla kataloger, eftersom när det inte nämns någon katalog, 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 text inuti filen visas. Inte bara den vanliga texten utan också grep -kommandot som tillämpas på filtexten visas, d.v.s. grep 'I am a house wife'.

Grep Exakt flera mönster

Att söka efter 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. Katalogsökvägen nämns för att göra det bekvämt för systemet att söka. Binära filer utesluts eftersom gränsen införs för att lägga till en katalog i kommandot. Utdata innehåller filkatalogens namn och filnamn. Dessutom visas text inuti filen.

$grepp–Rw ‘/Hem/aqsayasin/'

Sökte ord markeras 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, som visas i utdata.

Grep rekursivt med --Include

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

$grepp–R --omfatta=*txt syster/Hem/aqsayasin

Slutsats

I denna artikel har vi förklarat varje exempel för att demonstrera 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 anses den aktuella katalogen som standard.