Globaali säännöllinen lauseke tai vain grep on yksi monipuolisimmista ja yleisimmistä komennoista Unix- ja Linux-järjestelmissä. Komento etsii yhden tai useamman tulotiedoston ja vastaavat kuvioviivat. Seurauksena on, että saat vakiotuloksen vastaavilla riveillä.
Jos et määritä tiedostoa, grep käyttää lukemiin vakiosyöttöä ja se tulee todennäköisesti toisen komennon tuotokseksi. Kaiken kaikkiaan grep sisältää yksinkertaisen syntaksin riippumatta siitä, käytätkö sitä tiedostonimen kanssa tai ilman.
Tässä artikkelissa on nopea yleiskatsaus grep-syntaksista ja joitain peruskomentoja, joita voit käyttää tiedostonimen kanssa tai ilman.
Ennen kuin aloitat
Kaikissa grep-komennoissa noudatetaan samaa syntaksia ja jokaisella parametrilla on tietty toiminto. Tässä on näyterivi:
grep MALLI
Voit hallita komennon ulostuloa grep-ohjelmalla useita OPTIONS-vaihtoehtoja ja numero alkaa nollasta. KUVA osoittaa hakumallin, jota haluat käyttää. Mitä tulee TIEDOSTOon, tässä kohtaa tiedoston nimi tai nimet menevät, mutta parametri voidaan asettaa nollaan.
Merkkijonohaku komentoulostulossa
Kuten osoitettu, sinun ei tarvitse käyttää tiettyjä syöttötiedostoja. Toisen komennon tulosta voidaan käyttää grep: ssä rivien saamiseksi, jotka vastaavat tarkasti kuviota. Tämän avulla voidaan määrittää, mitkä prosessit ovat aktiivisia järjestelmässä. Tämä on näytekomennon syntaksi:
$ ps -ef | grep www-data
Saamasi tuotoksen pitäisi näyttää noin:
www-data 18247 12675 4 16:00? 00:00:00 php-fpm: uima-allas www
juuri 18272 17714 0 16:00 pts / 0 00:00:00 grep –väri = auto - sulje pois-dir = .bzr - sulje pois-dir = CVS - sulje pois-dir = .git - sulje pois-dir = .hg - sulje pois- dir = .svn www-data
www-data 31147 12770 0 lokakuuta 22? 00:05:51 nginx: työntekijäprosessi
www-data 31148 12770 0 lokakuuta 22? 00:00:00 nginx: välimuistin hallintaprosessi
On tapa jättää pois komentorivi, joka sisältää grep-prosessit. Tätä varten sinun on käytettävä $ ps -ef | grep www-data | grep -v grep- komento.
Grep-sanahaku
Voit käyttää grep-komentoja etsimään tiettyjä sanoja järjestelmäsi tiedostoista. Itse asiassa koko sanaa ei tarvitse kirjoittaa. Voit käyttää vain esimerkiksi gnu- komentoa, ja komento antaa kaikki sanat, joissa on nämä kolme kirjainta. Komennon syntaksi on:
$ grep gnu / usr / jaa / sanat
Käskyn suorittamisen jälkeen tulosteen tulisi näyttää tällaiselta:
Cygnus
gnu
väliaika
lgnu9d
LIGNUM
magnum
Magnuson
Sphagnum
siipimutteri
Toisaalta voit etsiä vain kyseisen sanan tai kirjainmerkkijonon ja sulkea pois kaiken muun. Tätä varten sinun on lisättävä syntaksi -w tai –sana - regexp . Tässä tapauksessa esimerkikomento näyttää tältä - $ grep -w gnu / usr / share / words .
Huomaa: kielioppitarkoituksia varten joidenkin komentojen loppu on lopussa. Et tarvitse välimerkkiä grepille. Sulje se pois, kun kopioit / liitä komento.
Onko Grep-kirjain herkkä?
Kaikki grep-komennot ovat oletuksena kirjainkoolla. Tämä tarkoittaa, että pienten ja isojen kirjainten käyttö merkitsee eroa itse komennossa. Voit kuitenkin lisätä - i ( - sivuuttaa kirjainkoko ) komentoriville ja antaa järjestelmän etsiä sekä isoja että pieniä kirjaimia.
Esimerkiksi syöttämäsi komento voi näyttää tältä $ grep -i Zebra / usr / share / words . Sen avulla tulosteet vastaavat mitä tahansa isojen ja pienten kirjainten yhdistelmiä, kun se etsii seepraa.
Rivinumero
Käytä –rivinumero -vaihtoehtoa tai vain -n määrittääksesi rivien lukumäärän merkkijonolla, joka vastaa tiettyä hakumallia. Seurauksena on vakioulostulo, jonka rivinumero on edessä.
Tarkka komento voi näyttää tältä: $ grep -n 10000 / etc / services . Suorituksen jälkeen lähtö tarjoaa kaikki vastaavuudet, jotka se löytää 10000 riviltä. Katso alla oleva näyte:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
Kansiot
Voit laittaa tähden grep-komennon taakse tiedostonimen sijasta. Kun gnu- kriteerejä käytetään uudelleen, komento näyttää tältä $ grep gnu * ja tulostuksessa luetellaan gnu sisältävät tiedostot. On tärkeätä huomata, että tällainen komento palauttaa rivin.
Huomaa: grepillä rivi viittaa merkkijonoon, joka kestää määritetyn tauon. Ellet tarkenna hakua, tulos voi sisältää kokonaisia kappaleita tietoja.
Ota seuraava askel Grepin kanssa
Tämä opas vain raaputtaa pinnan siitä, mitä voit tehdä grepillä. Kaikkien kertoimien ja päättymien saaminen voi viedä hetken, mutta syntaksi noudattaa melko yksinkertaista periaatetta. Ja jollain käytännöllä pystyt tarkentamaan hakujasi täydellisyyteen joko tiedostonimellä tai ilman.
