grep

Kuinka käyttää Grepiä rekursiivisesti?

Kuinka käyttää Grepiä rekursiivisesti?

Grep-komentoa käytetään tekstin hakemiseen tiedostoista. Se on monipuolinen kuvio, joka kutsuu grep-näppäimellä -r. -R-vaihtoehto etsii tiedostoja rekursiivisesti alihakemistoista, nykyisestä hakemistosta alkaen. Komento suoritetaan ylätason hakemistosta. Esimerkiksi / home / abc jne. Grep on työkalu riippuvuuksien saamiseksi siirryttäessä isännästä toiseen. Jos emme mainitse hakemistossa komentoa, grep hakee nykyisen työkansion. Grepin suorittamiseksi rekursiivisesti on olemassa kolme argumenttia, jotka olemme ottaneet grepin man-sivulta.

$ Mies grep

-include-tiedostoa käytetään tarkkaan vastaavuuteen tiedostossa, joka voi olla hakemistossa olevia tiedostoja tai oletuksena. -r tarkoittaa hakemiston nimeä, kuten aiemmin on kuvattu, jos komennossa ei ole määritetty polkua, nykyinen hakemisto otetaan huomioon. Se seuraa vain symbolista linkkiä. -R on melko erilainen kuin -r, koska se lukee kaikki tiedostot, ei vain symbolisesti määriteltyjä tiedostoja.

Syntaksi

Grep -R “kuvio” / polku /

"Polku" on "hakemistopolku". Ja kuvio on sana tai merkkijono, jonka haluat etsiä.

Edellytys

Grep-rekursiivisen funktion ymmärtämiseksi sinulla on oltava Linux-käyttöjärjestelmä. Asennuksen jälkeen määrität Linuxin antamalla käyttäjänimen ja salasanan. Tämän jälkeen saat käyttöoikeudet kaikkiin käyttöjärjestelmän sovelluksiin.

Kaikki tiedostot Linuxissa

Tämä komento auttaa sinua etsimään kaikkia tiedostonimiä järjestelmän hakemistoista. Koska -l toimii vain tiedostojen nimien tarjoamisella, -r auttaa etsimään symbolisesti missä tahansa vaadittua sanaa, tulee tulosteena. "Aqsa" on sana, jota haluamme etsiä. Tämä komento ei sisällä polkua hakemistoon, koska täällä haluamme kaikki mahdolliset tiedostojen nimet järjestelmään. Jos olemme antaneet polun, hakuprosessilla on rajoituksia.

$ grep -r -l “aqsa”

Yksinkertainen esimerkki

Rekursiivisuuden ongelman ymmärtämiseksi polun avulla otimme käyttöön yksinkertaisen esimerkin käyttäjän ohjaamiseksi. Kuten alla olevassa komennossa näkyy, "monipuolinen" on sana, jota haluamme etsiä. Sanan jälkeen on hakemisto, johon haluamme lajitella. Se näyttää sekä tiedostonimen hakemistolla että koko tekstin tiedoston sisällä. -r näyttää myös binaaritiedostot.

$ grep -r monipuolinen / koti / aqsayasin

Rekursiivisesti haku kaikista hakemistoista ja alihakemistoista

Koska me kaikki tunnemme "*": n toiminnot hakujärjestelmässä. Se tarkoittaa lajittelua kaikissa tiedostoissa. Joten komento näyttää vastaavat tiedot kaikista tiedostoista. Talon sanaa on haettava rekursiivisesti grep-käskyn avulla.

$ grep -r “talo” *

Se näyttää tiedostonimet ja tekstin sisällä korostamalla haetun sanan, mikä osoittaa, että vastaavuus on olemassa. Vain yksi tekstitiedosto sisälsi kyseisen sanan, joka näkyy tuloksena olevalla rivillä.

Grep rekursiivisesti merkkijonolle

Toisin kuin yllä olevat esimerkit, grep toimii merkkijonossa tietyssä hakemistossa. / etc / on komentohakemisto, mikä tarkoittaa, että haku tapahtuu tämän hakemiston kautta, tietokoneen IP-osoitteen kautta. Sen tiedot tallennetaan hakemistoon, ja tiedostojen nimet ovat hakemistossa / etc / ppp /. Vaihtoehto on tietyn kansion nimi. Tämä komento lukee kaikki tiedostot annetussa hakemistossa.

$ grep -r “192.168.1.5 ”/ etc /

Lähdön tiedostonimet voidaan estää -h-vaihtoehdon avulla. Komento on seuraava.

$ grep -h -R "192.168.1.5 "/ etc /

Molemmat erottimet voidaan kirjoittaa komennossa kuten -h -R.

Haku rekursiivisesti ilman hakemistoa

Rekursiivinen haku voidaan tehdä myös ilman hakemistoa yksinkertaisesti etsimällä sanaa yhdellä sanalla.

$ grep -r vaimo

Vaimo-sanaa haetaan kaikista hakemistoista automaattisesti, koska kun hakemistoa ei ole mainittu, etsintä etenee kaikissa järjestelmän tiedostoissa ja hakemistoissa. Se sisältää myös binaaritiedostot tekstitiedostojen kanssa. Tiedoston osoite ja tiedostonimet näytetään aluksi. Kun taas tiedoston sisällä oleva teksti näkyy. Pelkkän tekstin lisäksi näytetään myös tiedostotekstiin käytetty grep-komento, ts.e., grep 'Olen talon vaimo'.

Grep tarkat useita kuvioita

Useiden menetelmien etsiminen on myös ominaisuus, joka saadaan grep-komennolla. "-Rw" käytetään tutkimaan tiettyä ottelua. ”-E” käytetään lisäämään useita komentoja komentoon. Hakemistopolku mainitaan, jotta järjestelmän olisi helppo tehdä hakuja. Binaaritiedostot jätetään pois, koska raja otetaan käyttöön hakemiston lisäämisessä komentoon. Tulos sisältää tiedostohakemiston nimen ja tiedostonimen. Myös tiedoston sisällä oleva teksti näkyy.

$ grep -rw '/ koti / aqsayasin /'

Haetut sanat on korostettu tiedostotekstissä. Molempien haettujen termien on oltava yhdessä tiedostossa. Sanojen olemassaolon todennäköisyys eri tiedostoissa, kuten tulosteet osoittavat.

Grep rekursiivisesti käyttämällä - -Include

“-Include” vastaa annettua tiedostokuviota ja toimii tehokkaasti, koska se myös nopeuttaa hakuprosessia, joka toimii suurimmalla osalla tiedostoista. Tässä se ei tuo siihen binääriä tai käännettyjä tai kuvatiedostoja. Tiedostotunnistetta käytetään lisäämään komentoon rajoituksia. Hakemisto mainitaan tarvittavan tuloksen tuomiseksi. Mukana oleva avainsana on grepissä melko edistynyt verrattuna muihin toimintoihin.

$ grep -r - -include = ”* txt” “sister” / home / aqsayasin

Johtopäätös

Tässä artikkelissa olemme selittäneet kukin esimerkki osoittamaan grep-rekursiivisen funktion käyttöä. Rekursiivista toimintoa käytetään hakuun rajoituksilla ja tarkasti kaikissa järjestelmän hakemistoissa. Jos hakemistoa ei ole, nykyinen hakemisto otetaan oletuksena huomioon.

5 parasta arcade-peliä Linuxille
Nykyään tietokoneet ovat vakavia koneita, joita käytetään pelaamiseen. Jos et pääse uusiin korkeisiin pisteisiin, tiedät mitä tarkoitan. Tässä viestis...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
League of Legendsin asentaminen Ubuntu 14 een.04
Jos olet League of Legendsin fani, tämä on sinulle mahdollisuus testata League of Legendsia. Huomaa, että PlayOnLinux tukee LOLia, jos olet linux-käyt...