Syntax
$ grep 'mönster1 \ | mönster2' filnamnEtt regelbundet uttryck skrivs alltid i ett enda citat. Två namn är separerade med backslash och ändringsoperator. Kommandot avslutas med filnamnet. Under grep rekursiv används katalog eller hela sökvägen istället för ett enda filnamn.
Nödvändig förutsättning
I den här artikeln lär vi oss grep-funktionaliteten när vi söker efter flera mönster och strängar. För detta ändamål måste du ha Linux-operativsystem som körs på din virtuella låda. Du måste installera det på ditt system. Efter konfigurationen har du tillgång till att använda alla applikationer. Efter att ha loggat in till användaren genom att ange ett lösenord, gå till kommandoraden för terminalskalet för att fortsätta.
Sök med flera mönster i en fil med Grep
Om vi vill söka i flera mönster eller strängar i en viss fil, använd grep-funktionaliteten för att sortera i en fil med hjälp av mer än ett inmatningsord i kommandot. Vi använder '\ |' operatörer för att separera två mönster i ett kommando.
$ grep 'teknisk \ | jobb' filea.TextKommandot representerar hur grep fungerar. Båda de nämnda filerna kommer att sökas i filea.Text. Sökta ord är markerade i hela texten i utdata.
För att söka efter mer än två ord fortsätter vi att lägga till dem på samma sätt.
$ grep 'grafik \ | photoshop \ | affischer' fileb.Text
Sök i flera strängar genom att ignorera fall
För att förstå begreppet skiftlägeskänslighet i grep-funktion i Linux, överväga följande exempel. Två kommandon fungerar på grep. Den ena är med '-i' och den andra är utan. Detta exempel visar skillnaderna mellan kommandona. Den första visar att två ord kommer att sökas i en viss fil. Men som anges i kommandot "Aqsa" börjar det med stora bokstäver A. Således kommer det inte att markeras eftersom denna text är i gemener i en viss fil.
$ grep 'Aqsa \ | syster' fil20.TextDet kommer bara att ta hänsyn till ordet syster, som kommer att ses i produktionen.
I det andra exemplet har vi ignorerat skiftlägeskänslighet genom att använda “-I” -flaggan. Denna funktion söker i båda orden och utdata markeras. Oavsett om ordet 'Aqsa' är skrivet med stora bokstäver eller inte, kommer grep att söka efter samma matchning i texten i en fil. Så båda kommandona är till hjälp på deras sätt.
$ grep -I 'Aqsa \ | syster' fil20.Text
Räkna flera matchningar i en fil
Räkna-funktionen hjälper till att räkna förekomsten av ett ord eller ord i en viss fil. Till exempel om du vill veta om felen som uppstår i systemet. Detaljen registreras i loggfilen. För att behålla denna information i en specifik mapp skriver du sökvägen till mappar. Det här exemplet visar att 71 fel inträffade i loggfiler.
Sök efter exakta matchningar i en fil
Om du vill hitta en exakt matchning i filerna i ditt system måste du använda flaggan "-w" för att sortera den exakt. Vi har citerat ett enkelt och omfattande exempel. I exemplet nedan, överväg att söka utan “-w”, det här kommandot ger båda orden som matchas med den angivna ingången. Men med "-w" -flaggan kommer sökning att begränsas eftersom inmatningsord bara matchar den första strängen. Det andra ordet är inte markerat eftersom “-w” möjliggör korrekt matchning med mönstret.
$ -iw 'hamna \ | house' fil21.TextHär -Jag används också för att ta bort skiftlägeskänslighet vid sökning av text.
Som framgår av bilden är resultaten inte desamma. Det första kommandot ger alla relaterade data med hela strängar, medan det andra kommandot visar hur exakta data matchar genom grep när de söker efter flera strängar.
Grep för mer än ett mönster i en specifik filtilläggstyp
Sökning görs inom alla filer. Det är upp till dig om du söker genom att ange filnamn. Den söker bara i specifika filer. Men genom att tillhandahålla ett filtillägg kommer data att sökas igenom alla filer med samma tillägg. Det finns två olika exempel som visar det relaterade resultatet. Med tanke på det första exemplet kommer felfiler att räknas i alla filer i .loggförlängning. ”-C” används för att räkna.
$ grep -c 'varning \ | fel' / var / log / *.logga
Detta kommando innebär att filerna kommer att sökas i alla filer i .loggförlängning. Antalet matchningar visas i utdata för att bättre visa grep med det specifika filtillägget.
I det andra exemplet har vi använt två ord i våra filer i Linux med förlängningen av texten. All data kommer att visas i form av siffror. 0 anger ingen matchande data, medan annat än 0 visar att en matchning existerar.
$ grep -c 'aqsa \ | my' / home / aqsayasin / *.Text
Söka efter flera mönster rekursivt i en fil
Som standard används den aktuella katalogen om det inte finns någon katalog som nämns i kommandot. Om du vill söka i den katalog du själv väljer måste du nämna det. Operatorn “-r” används för grep rekursivt./ home / aqsayasin / visar filvägen, medan *.txt visar förlängningen. Textfiler är målet för grep att söka rekursivt.
$ grep -R 'teknisk \ | gratis' / hem / aqsayasin / *.Text
Den önskade utgången markeras i resultatet och visar förekomsten av dessa ord.
Slutsats
I artikeln som nämnts ovan har vi citerat olika exempel för att göra det lättare för en användare att förstå hur kommandon fungerar för att söka i flera mönster på Linux. Den här guiden hjälper dig att öka din befintliga kunskap.