grep

Kā es varu izslēgt direktorijus no grep -R?

Kā es varu izslēgt direktorijus no grep -R?
Grep patiešām ir Linux / Unix termināla apvalka utilīta, kas dokumentā meklē rakstzīmju secību. Šķiet, ka regulāra izteiksme ir meklējamā teksta modeļa termins. Atklājot vienu un to pašu spēli, tā izved rindu ar rezultātu. Pārlūkojot milzīgus žurnālfailus, tiek izmantots grep vaicājums. Tātad, izmantojot dažus atslēgvārdus, direktoriju izslēgšanai tika izmantots grep-R. Apspriedīsim grep-R šajā apmācībā soli pa solim.

Priekšnosacījumi:

Skaidri norādiet, ka ir instalēta un konfigurēta jebkura Linux izplatīšana. Mēs izmantojam Ubuntu 20.04 Linux sistēma, lai ieviestu šo tēmu. No otras puses, jums ir jābūt arī root lietotāja tiesībām. Lai sāktu darbu, atveriet komandu termināli.

01. piemērs:

Atverot komandu termināli, jūs pašlaik atrodaties Ubuntu 20.04 Linux sistēmas mājas direktorija. Pārejam uz direktoriju Dokumenti. Lai to izdarītu, jums jāizmanto zemāk norādītā komanda “cd” komandu apvalkā, kā arī direktorijas ceļš.

$ cd ~ / Dokumenti

Tagad jūs atrodaties savas Linux sistēmas direktorijā Dokumenti. Izveidosim trīs jaunus failus direktorijā Dokumenti. Lai izveidotu jaunus teksta tipa failus, izmēģiniet zemāk redzamo pieskaršanās komandu čaulā, kam seko jauna faila nosaukums. Var redzēt, ka esam izveidojuši trīs failus ar nosaukumu “viens.txt, ”“ jauns.txt, ”un“ tests.txt.”

$ pieskarieties vienam.txt
$ touch new.txt
$ pieskāriena tests.txt

Daži teksta dati vai informācija katrā failā jāpievieno atsevišķi, kā redzat zemāk esošajos attēlos. Tagad saglabājiet visus failus un aizveriet.

Tagad atgriezieties terminālā un uzskaitiet visus failus un mapes, kas uzskaitīti direktorijā Dokumenti. Izpildiet vienkāršo komandu “ls”, lai to izdarītu, kā norādīts zemāk. Jums būs visu failu un mapju izvade, kas atrodas direktorijā Dokumenti. Var redzēt, ka tur ir arī jaunizveidotie un atjauninātie teksta faili.

$ ls

Tagad ir mūsu kārta izmēģināt komandu grep -R direktorijā Dokumenti un tā failos vai mapēs. Mēs izmantosim komandu grep -R, lai izslēgtu direktorijus, vienlaikus izmantojot vienu atslēgvārdu vai unikālu vārdu. Mums būs komanda, kas meklēs konkrēto vārdu no visiem failiem, kas atrodas mapē Dokumenti, izņemot vienu direktoriju, kas komandā tika dots izslēgšanai. Tātad mēs izslēgsim direktoriju “Wao”, kas pašlaik atrodas direktorijā Dokumenti. Tātad, mēģiniet zemāk esošo komandu grep, lai izslēgtu “Wao” direktoriju kopā ar -R karogu, kas izmantots rekursīvai funkcijai, un “Aqsa” ir izmantots kā atslēgvārds, kas meklējams failos. Zemāk esošajā momentuzņēmuma izvade parāda tekstu no diviem failiem “test.txt ”un“ jauns.txt, ”kuru datos ir teksts“ Aqsa ”, un direktorija“ Wao ”nav pārbaudīta, jo komandā ir izslēgta. Tomēr direktorijā “Wao” ir arī daži teksta faili, kurus nav ieteicams pārbaudīt.

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

Apskatīsim abus failus. Izmēģiniet kaķu komandu, lai redzētu failu “jauns.txt ”satur atslēgvārdu“ Aqsa.”

$ kaķis jauns.txt

Otrs fails “tests.txt, kas satur atslēgvārdu “Aqsa”, ir parādīts, izmantojot zemāk esošo kaķu komandu.

$ kaķu tests.txt

Tagad izslēgsim to pašu direktoriju “Wao” no mapes Dokumenti, izmantojot citu atslēgvārdu “drosmīgs”, ja tas atrodas kādos failos. Tātad, izmēģiniet zemāk esošo komandu grep, lai izslēgtu direktoriju, kā norādīts zemāk. Izvades attēlā ir redzami divi atslēgvārda “drosmīgi” rezultāti divos failos “tests.txt ”un“ viens.txt.”

$ grep -exclude-dir “Documents / Wao” -R “drosmīgs.”

Jūs varat redzēt failu “viens.txt ”satur atslēgvārdu“ drosmīgs ”, izmantojot kaķu komandu.

$ kaķis viens.txt

Zemāk esošajā izvadā parādīts fails “test.txt ”, kurā ir atslēgvārds“ drosmīgs ”, lietojot kaķu instrukcijas.

$ kaķu tests.txt

02. piemērs:

Pārejam uz mapes Dokumenti apakšdirektoriju “Wao”, izmantojot čaulā esošo komandu “cd”.

$ cd ~ / Dokumenti / Wao

Izveidosim trīs jaunus failus “bin.txt, ”“ bija.txt, ”un“ sek.txt ”direktorijā“ Wao ”, lietojot zemāk uzskaitīto komandu touch. Pievienojiet dažus teksta datus visos failos, saglabājiet un pēc tam aizveriet tos.

$ touch bin.txt
$ touch bija.txt
$ pieskāriena sek.txt

Uzskaitīsim visus direktorijus, izmantojot komandu “ls”, kā norādīts zemāk. Tajā atradīsit visus trīs jaunizveidotos failus.

$ ls -a

Izmēģināsim to pašu grep instrukciju savā komandu terminālā, lai izslēgtu direktoriju “Wao”, vienlaikus izmantojot citu atslēgvārdu “I” kā atbilstību, kā norādīts zemāk.

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

Tagad šīs komandas izvade failos, kas atrodas mapē Dokumenti, parāda atslēgvārdu “I”, savukārt direktorijs “Wao” ir ignorēts, izmantojot atslēgvārdu “izslēgt-dir”.

Tagad no terminālā zemāk redzamās grep komandas izslēdziet to pašu direktoriju “Wao”, izmantojot citu atslēgvārdu “rimsha”. Izvades snap neparāda izvadi, jo atslēgvārds “Rimsha” nav atrasts nevienā failā, kas atrodas mapē Dokumenti.

$ grep -exclude-dir “Dokumenti / Wao” -R “rimša”

03. piemērs:

Vispirms virzīsimies uz mapi Dokumenti, zemāk izmantojot komandu “cd”.

$ cd ~ / Dokumenti

Uzskaitīsim visus direktoriju dokumentu failus un mapes, izmantojot zemāk esošo komandu ls. Izvade parāda dažus teksta un citus failus kopā ar vienu apakšdirektoriju “Wao.”

$ ls

Izmantosim to pašu komandu grep, lai no šīs mapes izslēgtu direktoriju “Wao”, karodziņā izmantojot atslēgvārdu “Aqsa”. Izejā redzami četri teksta faili, kuru tekstā ir vārds “Aqsa”, savukārt direktorija “Wao” ir izvairīta un nav pārbaudīta.

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

Secinājums:

Izmantojot Ubuntu 20.04, mēs jau saprotam, kā un kad izmantot komandu grep -R. Grep komanda ir ārkārtīgi universāla un palīdz atrast simtiem dokumentu iegultu tekstu.

Kā izmantot Xdotool, lai stimulētu peles klikšķus un taustiņsitienus Linux
Xdotool ir bezmaksas un atvērtā koda komandrindas rīks peles klikšķu un taustiņu simulāciju simulēšanai. Šajā rakstā būs īss ceļvedis par xdotool izma...
5 labākie ergonomiskie datoru peles izstrādājumi Linux
Vai ilgstoša datora lietošana izraisa sāpes plaukstas locītavā vai pirkstos? Vai jūs ciešat no stīvām locītavām un jums pastāvīgi ir jāspiež rokas? Va...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...