grep

Hur kan jag utesluta kataloger från grep -R?

Hur kan jag utesluta kataloger från grep -R?
Grep är verkligen ett Linux / Unix terminal skalverktyg som söker i ett dokument efter en sekvens av tecken. Ett regelbundet uttryck verkar vara termen för det textmönster som ska sökas. Den matar ut raden med resultatet när den upptäcker samma matchning. När du surfar över stora loggfiler, kommer grep-frågan i handen. Så grep -R har använts för att utesluta kataloger medan du använder vissa nyckelord. Låt oss diskutera grep -R i denna handledning steg för steg.

Förutsättningar:

Gör det klart att ha någon distribution av Linux installerad och konfigurerad. Vi använder Ubuntu 20.04 Linux-system för att implementera detta ämne. Å andra sidan måste du också ha root-användarrättigheter. Öppna din kommandoterminal för att börja arbeta.

Exempel 01:

När du öppnar kommandoterminalen är du för närvarande på Ubuntu 20.04 Linux-systemets hemkatalog. Låt oss navigera till en dokumentkatalog. För detta måste du använda kommandot "cd" nedan i kommandoskalet för att göra det tillsammans med en katalogsökväg.

$ cd ~ / Dokument

Nu befinner du dig i dokumentkatalogen i ditt Linux-system. Låt oss skapa tre nya filer i dokumentkatalogen. För att skapa nya filer av texttyp, prova kommandot nedan vid pekskärmen följt av en ny fils namn. Du kan se att vi har skapat tre filer med namnet “en.txt, ”“ ny.txt, "och" test.Text.”

$ tryck på en.Text
$ touch ny.Text
$ touch-test.Text

Du måste lägga till textdata eller information i varje fil separat, vilket du kan se på bilderna nedan. Spara nu alla filer och stäng.

Kom nu tillbaka till terminalen och lista alla filer och mappar som listas i dokumentkatalogen. Utför det enkla ”ls” -kommandot för att göra detta enligt nedan. Du kommer att ha en utdata av alla filer och mappar ljuger i dokumentkatalogen. Du kan se att nyskapade och uppdaterade textfiler också finns där.

$ ls

Nu är det vår tur att prova något grep -R-kommando i dokumentkatalogen och dess filer eller mappar. Vi använder kommandot grep -R för att utesluta katalogerna medan vi använder ett nyckelord eller unikt ord. Vi kommer att ha ett kommando som söker just det ordet från alla filer som finns i mappen Dokument utom en katalog, som har uteslutits i kommandot. Så vi kommer att utesluta katalogen "Wao" som för närvarande finns i dokumentkatalogen. Så prova nedanstående grep-kommando för att utesluta "Wao" -katalogen tillsammans med -R-flaggan, som har använts för rekursiv funktion, och "Aqsa" har använts som ett nyckelord som ska sökas i filerna. Utdata i ögonblicksbilden nedan visar texten från två filer, “test.txt ”och” new.txt, "med texten" Aqsa "i sina data och katalogen" Wao "har inte kontrollerats på grund av uteslutning i kommandot. Katalogen "Wao" har dock också vissa textfiler som man undviker att kontrollera.

$ grep -exclude-dir “Wao” -R “Aqsa”

Låt oss titta på båda filerna. Prova kattkommandot för att se filen ”ny.txt ”innehåller nyckelordet” Aqsa.”

$ katt ny.Text

Den andra filen, “testa.txt, ”som innehåller nyckelordet” Aqsa ”, har visats med kommandot cat nedan.

$ cat test.Text

Låt oss nu utesluta samma katalog "Wao" från mappen Dokument med ett annat nyckelord, "modig", om den ligger i några filer. Så prova nedanstående grep-kommando för att utesluta katalogen enligt nedan. Utgångsbilden visar de två matchade utgångarna för nyckelordet "modig" i två filer, "test.txt ”och” en.Text.”

$ grep -exclude-dir "Dokument / Wao" -R "modig.”

Du kan se filen ”en.txt ”innehåller nyckelordet“ modig ”med hjälp av kattkommandot.

$ katt en.Text

Utdata nedan visar filtestet.txt, "som innehåller nyckelordet" modig "med användning av kattinstruktioner.

$ cat test.Text

Exempel 02:

Låt oss hoppa till underkatalogen "Wao" i mappen Dokument med kommandot "cd" i skalet.

$ cd ~ / Dokument / Wao

Låt oss skapa tre nya filer, “bin.txt, ”“ hade.txt, ”och” sek.txt ”i katalogen“ Wao ”medan du använder pekskommandot nedan. Lägg till textdata i alla filer, spara och stäng dem.

$ touch bin.Text
$ touch hade.Text
$ touch sek.Text

Låt oss lista alla kataloger med kommandot “ls” enligt nedan. Du hittar alla de tre nyskapade filerna i den.

$ ls -a

Låt oss prova samma grep-instruktion i din kommandoterminal för att utesluta katalogen "Wao" medan du använder ett annat nyckelord "I" som en matchning som nedan.

$ grep -exclude-dir “Dokument / Wao /” -R “I”

Nu visar utdata för detta kommando nyckelordet "I" i filerna som finns i mappen Dokument medan katalogen "Wao" har ignorerats med hjälp av "exclude-dir" nyckelordet.

Låt oss nu utesluta samma katalog "Wao" med ett annat nyckelord, "rimsha", från kommandot grep som visas nedan i terminalen. Output snap visar ingen output eftersom nyckelordet "Rimsha" inte har hittats i någon av filerna i dokumentmappen.

$ grep -exclude-dir “Dokument / Wao” -R “rimsha”

Exempel 03:

Låt oss navigera till mappen Dokument först med kommandot “cd” som nedan.

$ cd ~ / Dokument

Låt oss lista alla katalogdokumentens filer och mappar med kommandot 'ls' nedan. Utgången visar lite text och andra filer tillsammans med en underkatalog, “Wao.”

$ ls

Låt oss använda samma grep-kommando för att utesluta katalogen "Wao" från den här mappen med hjälp av nyckelordet "Aqsa" i en flagga. Utgången visar de fyra textfilerna med ordet "Aqsa" i sin text medan katalogen "Wao" har undvikits och inte kontrollerats.

$ grep -exclude-dir “Wao” -R “Aqsa”

Slutsats:

Använda Ubuntu 20.04, vi förstår redan hur och när man ska använda kommandot grep -R. Grep-kommandot är extremt mångsidigt och hjälper till att hitta text inbäddad i hundratals dokument.

OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...
SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...