grep

Hvordan kan jeg ekskludere mapper fra grep -R?

Hvordan kan jeg ekskludere mapper fra grep -R?
Grep er faktisk et Linux / Unix terminal shell-værktøj, der søger i et dokument for en sekvens af tegn. Et regulært udtryk ser ud til at være udtrykket for det tekstmønster, der skal søges i. Den udsender rækken med resultatet, når den registrerer den samme kamp. Mens du gennemsøger store logfiler, kommer grep-forespørgslen i hånden. Så grep -R er blevet brugt til at udelukke mapper, mens du bruger nogle nøgleord. Lad os diskutere grep -R i denne vejledning trin for trin.

Forudsætninger:

Gør det klart at have enhver distribution af Linux installeret og konfigureret. Vi bruger Ubuntu 20.04 Linux-system til implementering af dette emne. På den anden side skal du også have rootbrugerrettigheder. Åbn din kommandoterminal for at begynde at arbejde.

Eksempel 01:

Når du åbner kommandoterminalen, er du i øjeblikket på Ubuntu 20.04 Linux-systemets hjemmekatalog. Lad os navigere til et dokumentmappe. Til dette skal du bruge nedenstående “cd” -kommando i kommandoskallen til at gøre det sammen med en biblioteksti.

$ cd ~ / Dokumenter

Nu er du i dokumentmappen på dit Linux-system. Lad os oprette tre nye filer i dokumentmappen. For at oprette nye tekst-type filer, prøv nedenstående berøringskommando i skallen efterfulgt af en ny fils navn. Du kan se, at vi har oprettet tre filer med navnet “en.txt, ”“ nyt.txt, ”og“ test.txt.”

$ tryk på en.txt
$ touch nyt.txt
$ touch test.txt

Du skal tilføje nogle tekstdata eller oplysninger i hver fil separat, som du kan se på billederne nedenfor. Gem nu alle filerne, og luk.

Kom nu tilbage til terminalen og liste alle de filer og mapper, der er angivet i dokumentmappen. Udfør den enkle "ls" kommando for at gøre dette som nedenfor. Du vil have en output af alle filer og mapper, der ligger i dokumentmappen. Du kan se, at nyoprettede og opdaterede tekstfiler også er der.

$ ls

Nu er det vores tur til at prøve nogle grep -R-kommandoer i dokumentmappen og dens filer eller mapper. Vi bruger kommandoen grep -R til at udelukke mapper, mens vi bruger et nøgleord eller et unikt ord. Vi har en kommando, der søger i det bestemte ord fra alle de filer, der findes i mappen Dokumenter undtagen en mappe, som er givet til at udelukke i kommandoen. Så vi vil udelukke "Wao" -mappen, der i øjeblikket er til stede i dokumentmappen. Så prøv nedenstående grep-kommando for at udelukke "Wao" -mappen sammen med -R-flag, som er blevet brugt til rekursiv funktion, og "Aqsa" er blevet brugt som et nøgleord, der skal søges i filerne. Outputtet i snapshotet nedenfor viser teksten fra to filer, “test.txt ”og” ny.txt, "med teksten" Aqsa "i deres data og kataloget" Wao "er ikke blevet kontrolleret på grund af udelukkelse i kommandoen. Biblioteket “Wao” har dog også nogle tekstfiler, som man undgår at kontrollere.

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

Lad os se på begge filerne. Prøv kat-kommandoen for at se filen ”ny.txt ”indeholder nøgleordet“ Aqsa.”

$ kat ny.txt

Den anden fil, “test.txt, "indeholdende nøgleordet" Aqsa ", er blevet vist ved hjælp af kat-kommandoen nedenfor.

$ kat test.txt

Lad os nu ekskludere den samme mappe "Wao" fra mappen Dokumenter ved hjælp af et andet nøgleord, "modig", hvis det ligger i nogen filer. Så prøv nedenstående grep-kommando for at udelukke biblioteket som nedenfor. Outputbilledet viser de to matchede output for nøgleordet "modig" i to filer, "test.txt ”og“ en.txt.”

$ grep -exclude-dir “Dokumenter / Wao” -R “modig.”

Du kan se filen “en.txt ”indeholder nøgleordet“ modig ”ved hjælp af kat-kommandoen.

$ kat en.txt

Outputtet nedenfor viser filen “test.txt, "som indeholder nøgleordet" modig "med brug af katteinstruktioner.

$ kat test.txt

Eksempel 02:

Lad os hoppe til underkataloget "Wao" i mappen Dokumenter ved hjælp af kommandoen "cd" i skallen.

$ cd ~ / Dokumenter / Wao

Lad os oprette tre nye filer, ”bin.txt, ”“ havde.txt, ”og“ sek.txt ”i biblioteket“ Wao ”, mens du bruger nedenstående berøringskommando. Tilføj nogle tekstdata i alle filerne, gem og luk dem.

$ touch bin.txt
$ touch havde.txt
$ touch sek.txt

Lad os liste alle mapper ved hjælp af kommandoen “ls” som nedenfor. Du finder alle de tre nyoprettede filer i den.

$ ls -a

Lad os prøve den samme grep-instruktion i din kommandoterminal for at udelukke biblioteket "Wao", mens du bruger et andet nøgleord "I" som et match som nedenfor.

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

Nu viser output for denne kommando nøgleordet "I" i filerne i mappen Dokumenter, mens biblioteket "Wao" er blevet ignoreret ved hjælp af "exclude-dir" nøgleordet.

Lad os nu udelukke den samme mappe "Wao" ved hjælp af et andet nøgleord, "rimsha", fra grep-kommandoen vist nedenfor i terminalen. Output snap viser ingen output, fordi nøgleordet “Rimsha” ikke er fundet i nogen af ​​filerne i mappen Dokumenter.

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

Eksempel 03:

Lad os først navigere til mappen Dokumenter ved hjælp af kommandoen “cd” som nedenunder.

$ cd ~ / Dokumenter

Lad os liste alle katalogdokumenterne 'filer og mapper ved hjælp af nedenstående' ls 'kommando. Outputtet viser nogle tekst og andre filer sammen med en underkatalog, “Wao.”

$ ls

Lad os bruge den samme grep-kommando til at udelukke biblioteket "Wao" fra denne mappe ved hjælp af nøgleordet "Aqsa" i et flag. Outputtet viser de fire tekstfiler med ordet “Aqsa” i deres tekst, mens biblioteket “Wao” er undgået og ikke markeret.

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

Konklusion:

Brug af Ubuntu 20.04, vi forstår allerede, hvordan og hvornår vi skal bruge kommandoen grep -R. Grep-kommandoen er ekstremt alsidig og hjælper med at lokalisere tekst indlejret i hundredvis af dokumenter.

Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
0 A.D. Vejledning
Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...
Unity3D Tutorial
Introduktion til Unity 3D Unity 3D er en kraftfuld spiludviklingsmotor. Det er cross platform, det er det giver dig mulighed for at oprette spil til m...