Paano Gumamit ng Grep Recursively?

How Use Grep Recursively



Ginagamit ang grep command upang maghanap ng teksto mula sa mga file. Ito ay isang maraming nalalaman pattern na invokes grep may –r. –R mga file na pagpipilian sa paghahanap ng recursively mula sa mga subdirectory, simula sa kasalukuyang direktoryo. Ang utos ay pinatakbo mula sa direktoryo ng nangungunang antas. Halimbawa / bahay / abc atbp. Ang Grep ay isang tool para sa pagkuha ng mga dependency habang lumilipat mula sa isang host papunta sa isa pa. Kung hindi namin banggitin ang isang direktoryo sa utos, hahanapin ng grep ang kasalukuyang gumaganang direktoryo. Upang maisagawa nang recursively ang grep, mayroong tatlong mga argumento na nakuha namin mula sa man page ng grep.

$Lalakimahigpit na pagkakahawak







–Kasama ay ginagamit para sa isang eksaktong tugma sa file na maaaring mga file na naroroon sa direktoryo, o bilang default. –R nagpapahiwatig ng pangalan ng direktoryo, tulad ng inilarawan nang mas maaga, kung walang landas na tinukoy sa utos, isinasaalang-alang ang kasalukuyang direktoryo. Sumusunod lamang ito sa isang simbolikong link. –R ay medyo magkakaiba mula sa –r sapagkat binabasa nito ang lahat ng mga file, hindi lamang ang mga tinukoy ng sagisag.



Syntax

Grip –R pattern/landas/

Ang path ay isang path ng direktoryo. At ang pattern ay isang salita o isang string na nais mong hanapin.



Pangangailangan

Upang maunawaan ang grep recursive function, kailangan mong magkaroon ng operating system ng Linux. Pagkatapos ng pag-install, mai-configure mo ang Linux sa pamamagitan ng pagbibigay ng isang username at password. Pagkatapos gawin ito, makakakuha ka ng mga pribilehiyo upang ma-access ang lahat ng mga application sa operating system na iyon.





Lahat ng Mga File sa Linux

Tutulungan ka ng utos na ito na maghanap ng lahat ng mga pangalan ng file sa mga direktoryo ng iyong system. Tulad ng –l gumagana sa pagbibigay lamang ng mga pangalan ng file, –r ay makakatulong upang maghanap ng sagisag kahit saan naroroon ang kinakailangang salita, ay darating bilang output. Samantalang ang Aqsa ay ang salitang nais naming hanapin. Ang utos na ito ay walang anumang landas sa direktoryo dahil dito, nais namin ang lahat ng posibleng mga pangalan ng file sa system. Kung nagbigay kami ng isang landas, magkakaroon ng mga limitasyon ang proseso ng paghahanap.

$mahigpit na pagkakahawak–R –l aqsa



Simpleng Halimbawa

Upang maunawaan ang dilemma ng recursiveness sa tulong ng landas, nagpakilala kami ng isang simpleng halimbawa upang gabayan ang gumagamit. Tulad ng ipinakita sa utos sa ibaba, maraming nalalaman ay isang salita na nais naming hanapin. Kasunod sa salita, mayroong isang direktoryo kung saan nais naming ayusin. Ipinapakita nito ang parehong filename na may direktoryo at ang buong teksto sa loob ng file. Nagpapakita rin ang –r ng mga binary file.

$mahigpit na pagkakahawak–R maraming nalalaman/bahay/aqsayasin

Recursively Search sa Lahat ng Mga Direktoryo at Subdirectory

Tulad ng pamilyar tayong lahat sa pagpapaandar ng * sa naghahanap na sistema. Ito ay nagpapahiwatig ng pag-uuri sa lahat ng mga file. Kaya, ipapakita ng utos ang kani-kanilang data mula sa lahat ng mga file. Ang salitang bahay ay dapat hanapin nang paulit-ulit gamit ang pahayag ng grep.

$mahigpit na pagkakahawak–R bahay*

Ipinapakita nito ang mga filename at ang teksto sa loob sa pamamagitan ng pag-highlight ng salitang hinanap, na nagpapahiwatig na mayroon ng isang tugma. Isang solong file ng teksto lamang ang naglalaman ng salitang iyon, na ipinapakita sa resulta na linya.

Grep Recursively para sa isang String

Hindi tulad ng mga halimbawa sa itaas, gumagana ang grep sa isang string sa tukoy na direktoryo. / etc / ay ang direktoryo ng utos na nangangahulugang ang paghahanap ay magiging sa pamamagitan ng direktoryo na ito, ang IP address ng isang computer. Ang impormasyon nito ay nai-save sa direktoryo, pagkakaroon ng mga pangalan ng mga file na naroroon sa direktoryo / etc / ppp /. Ang pagpipilian ay ang pangalan ng isang partikular na folder. Basahin ng utos na ito ang lahat ng mga file sa ilalim ng ibinigay na direktoryo.

$mahigpit na pagkakahawak–R 192.168.1.5/atbp/

Ang mga pangalan ng file sa output ay maaaring mapigilan sa tulong ng pagpipiliang – h. Ang utos ay ang mga sumusunod.

$mahigpit na pagkakahawak -h -R '192.168.1.5' /atbp/

Ang parehong mga separator ay maaaring nakasulat tulad ng -h -R sa isang utos.

Paghahanap ng Recursively Nang Walang Directory

Maaari ring magawa ang recursive na paghahanap nang hindi gumagamit ng isang direktoryo sa pamamagitan ng simpleng paghahanap ng isang salita na may isang solong salita.

$mahigpit na pagkakahawak–R asawa

Ang salitang asawa ay hinanap sa lahat ng mga direktoryo dahil kapag walang nabanggit na direktoryo, magpapatuloy ang proseso ng paghahanap sa lahat ng mga file at direktoryo ng system. Magsasama rin ito ng mga binary file kasama ang mga file ng teksto. Ang file address at mga pangalan ng file ay ipinapakita sa una. Samantalang ang teksto sa loob ng file ay ipinapakita. Hindi lamang ang payak na teksto ngunit ang utos na grep na inilapat sa teksto ng file ay ipinapakita, ibig sabihin, grep 'Ako ay isang asawa sa bahay'.

Grep Eksakto sa Maramihang Mga pattern

Ang paghahanap ng maraming pamamaraan ay isang tampok na nakuha sa pamamagitan ng utos ng grep. Ginamit ang -rw upang tuklasin ang partikular na tugma. -e ay ginagamit upang magdagdag ng higit sa isang pattern sa utos. Nabanggit ang path ng direktoryo upang gawing maginhawa para sa system na maghanap. Ang mga binary file ay hindi kasama dahil ang limitasyon ay ipinakilala sa pagdaragdag ng isang direktoryo sa utos. Naglalaman ang output ng pangalan ng direktoryo ng file at pangalan ng file. Gayundin, ang teksto sa loob ng file ay ipinapakita.

$mahigpit na pagkakahawak–Rw ‘/bahay/aqsayasin/'

Ang mga nahahanap na salita ay naka-highlight sa teksto ng file. Ang parehong mga hinanap na term ay kailangang naroroon sa isang solong file. Mayroong isang posibilidad ng pagkakaroon ng mga salita sa iba't ibang mga file, tulad ng ipinakita sa output.

Recpektibong Gumamit ng Grep - -Sama

—Kasama ang tumutugma sa ibinigay na pattern ng file at gumagana nang epektibo dahil pinapabilis nito ang proseso ng paghahanap, na gumagana ang karamihan sa mga file. Dito, hindi ito nagdadala ng binary o compiled, o mga file ng imahe dito. Ginagamit ang extension ng file upang magdagdag ng mga limitasyon sa utos. Nabanggit ang direktoryo upang dalhin ang kinakailangang output. Ang kasama na keyword ay medyo advanced sa grep kumpara sa iba pang mga pagpapaandar.

$mahigpit na pagkakahawak–R --isama=*txt ate/bahay/aqsayasin

Konklusyon

Sa artikulong ito, ipinaliwanag namin ang bawat halimbawa upang maipakita ang paggamit ng grep recursive function. Ang isang recursive function ay ginagamit upang maghanap na may mga limitasyon at tiyak sa lahat ng mga direktoryo sa system. Kung ang isang direktoryo ay wala, ang kasalukuyang direktoryo ay isinasaalang-alang bilang default.