grep

Grep-komento Linuxissa

Grep-komento Linuxissa
Grep (globaalin säännöllisen lausekkeen tulostus) -komento on tehokkain ja säännöllisesti käytetty Linux-komentorivin apuohjelma. Grepin avulla voit etsiä hyödyllistä tietoa määrittämällä hakukriteerit. Se etsii tiettyä lausekekuviota määritetystä tiedostosta. Kun se löytää vastaavuuden, se tulostaa kaikki tiedoston rivit, jotka vastasivat määritettyä mallia. Se on kätevä, kun sinun on suodatettava suurten lokitiedostojen läpi.

Tässä artikkelissa selitämme grep-apuohjelman käyttöä erilaisilla esimerkeillä. Käytämme Debian 10: tä tässä artikkelissa mainittujen komentojen ja menetelmien selittämiseen.

Grepin asentaminen

Grep asennetaan useimpiin Linux-jakeluihin. Jos se puuttuu järjestelmästäsi, voit kuitenkin asentaa sen seuraavalla tavalla Terminalissa:

$ sudo apt-get install grep

Käyttämällä Grep

Tässä on grep-komennon perussyntaksi. Se alkaa grepillä, jota seuraa joitain vaihtoehtoja ja hakukriteerejä, ja lopetetaan sitten tiedoston nimellä.

$ grep [vaihtoehdot] MALLI [TIEDOSTO…]

Etsi tiedostoja

Voit etsiä tiedostonimeä hakemistosta, joka sisältää tietyn merkkijonon, käyttämällä grep-tiedostoa seuraavalla tavalla:

$ ls -l | grep -i “merkkijono

Esimerkiksi, jos haluat etsiä tiedostonimen, joka sisältää merkkijonon "testata“, Komento olisi:

$ ls -l | grep -i testi

Tämä komento listaa kaikki tiedostot, jotka sisältävät merkkijonon “testata”.

Etsi merkkijono tiedostosta

Voit etsiä merkkijonoa tietystä tiedostosta käyttämällä seuraavaa komentosyntaksi:

$ grep “string” tiedostonimi

Esimerkiksi etsiä merkkijonoa “testata”Tiedostossa nimeltä testitiedosto 1, olemme käyttäneet seuraavaa komentoa:

$ grep “työntekijä” -tiedosto1

Yllä oleva lähtö on palauttanut lauseen testitiedosto 1 joka sisältää merkkijonon “työntekijä”.

Etsi merkkijono useista tiedostoista

Voit etsiä merkkijonoa useista tiedostoista käyttämällä seuraavaa komentosyntaksi:

$ grep “merkkijono” tiedostonimi1 tiedostonimi2

Esimerkiksi etsimään merkkijonoa "työntekijä" kahdesta tiedostostamme testfile1 ja testfile2 olemme käyttäneet seuraavaa komentoa:

$ grep “työntekijä” -tiedosto1 testitiedosto2

Yllä oleva komento listaa kaikki rivit, jotka sisältävät merkkijonon "työntekijä" sekä tiedostoista testfile1 että testfile2.

Voit myös käyttää jokerimerkkiä, jos kaikki tiedostonimet alkavat samalla tekstillä.

$ grep “merkkijono” tiedostonimi *

Kuten, jos otamme yllä olevan esimerkin, jossa tiedostonimet olivat testitiedosto1 ja testitiedosto2 , komento olisi:

$ grep "työntekijä" -tiedosto *

Etsi merkkijono tiedostosta jättämällä merkkijonon kirjainkoko huomioimatta

Useimmiten olet havainnut tämän, kun etsit jotain grepillä, mutta et saa tulosta. Tämä tapahtuu johtuen merkkijonoa etsivistä tapauksista. Kuten esimerkissämme, jos käytämme virheellisestiTyöntekijä”Sijasta”työntekijä”, Se palauttaa nollan, koska tiedosto sisältää merkkijonon“työntekijä”Pienillä kirjaimilla.

Voit kertoa grepille, että se ohittaa hakumerkkijonon, käyttämällä -i-lippua grepin jälkeen seuraavasti:

$ grep -i "merkkijono" tiedostonimi

Käyttämällä -i-lippua komento suorittaa isot ja pienet kirjaimet ja palauttaa kaikki merkkijonon sisältävät rivittyöntekijä”Siinä ottamatta huomioon kirjaimia ovat isot tai pienet kirjaimet.

Hae säännöllisen lausekkeen avulla

Oikein käytettynä säännöllinen lauseke on erittäin tehokas ominaisuus grepissä. Grep-komennolla voit määrittää säännöllisen lausekkeen, jossa on alku- ja loppusana. Näin tekemällä sinun ei tarvitse kirjoittaa koko riviä grep-komennolla. Seuraavaa syntaksia voidaan käyttää tähän tarkoitukseen.

$ grep “avainsana.* lõppKeyword ”tiedostonimi

Esimerkiksi etsimään riviä tiedostosta testfile1, joka alkaa merkkijonolla "tämä" ja päättyy merkkijonolla "data", olemme käyttäneet seuraavaa komentoa:

$ grep "tämä.* data ”testitiedosto1

Se tulostaa koko rivin testitiedosto 1 sisältää lausekkeen (aloitussanan "tämä" ja loppusanan "data").

Tulosta tietty määrä riviä hakumerkkijonon jälkeen / ennen

Voit myös näyttää tietyn rivin määrän tiedostossa ennen merkkijonoa / sen jälkeen yhdessä vastaavan merkkijonon kanssa. Seuraavaa syntaksia voidaan käyttää tähän tarkoitukseen:

$ grep -A "Merkkijono" tiedostonimi

Se näyttää N rivien määrän sen jälkeen, kun merkkijono on sovitettu määritettyyn tiedostoon, mukaan lukien vastaava merkkijono.

Esimerkiksi tämä on näytetiedostomme nimeltä testitiedosto2.

Seuraava komento antaa vastaavan rivin, joka sisältää merkkijonon "työntekijä”Sekä sen jälkeiset 2 riviä.

$ grep -A 2 -i "työntekijän" testitiedosto2

Vastaavasti, jos haluat näyttää N rivien määrän ennen vastaavaa merkkijonoa tietyssä tiedostossa, käytä seuraavaa syntaksia:

$ grep -B "Merkkijono" tiedostonimi

Jos haluat näyttää N rivien määrän merkkijonon ympärillä tietyssä tiedostossa, käytä seuraavaa syntaksia:

$ grep -C "Merkkijono" tiedostonimi

Haun korostaminen

Grep tulosta oletusarvoisesti oletusarvoisesti, mutta ei näytä mikä osa rivistä on sovitettu. Jos käytät -color -vaihtoehtoa grepin kanssa, se näyttää missä työstöjonot esiintyvät tiedostossasi. Grep oletusarvoisesti korosta punaisella värillä.

Seuraavaa syntaksia voidaan käyttää tähän tarkoitukseen:

$ grep “merkkijono” tiedostonimi - väri

Lasketaan otteluiden määrä

Jos haluat laskea, kuinka monta kertaa tietty sana esiintyy tietyssä tiedostossa, voit käyttää grep with -c -vaihtoehtoa. Se palauttaa vain otteluiden määrän eikä itse otteluita. Seuraavaa syntaksia voidaan käyttää tähän tarkoitukseen:

$ grep -c "string" tiedostonimi

Tämä on esimerkkitiedostomme:

Seuraava on esimerkki komennosta, joka palautti sanan kertojen määrän tiedosto ilmestyi tiedostossa nimeltä testitiedosto 3.

Käänteinen haku

Joskus haluat suorittaa käänteisen haun, joka näyttää kaikki rivit paitsi syötteeseen sopivat rivit. Voit tehdä niin yksinkertaisesti käyttämällä -v-lippua ja sen jälkeen grep:

$ grep -v "string" tiedostonimi

Esimerkiksi, jos haluat näyttää kaikki tiedoston rivit testitiedosto 3 joissa ei ole sanaa ”tili”, olemme käyttäneet seuraavaa komentoa:

$ grep -v "tili" -tiedosto3

Grepin käyttö muiden komentojen kanssa

Grepillä voidaan myös suodattaa vaadittu tulos eri komentolähdöistä. Esimerkiksi "apt -asennettu luettelo ” komennon lähtö, haluat löytää vain automaattisesti asennetut paketit, voit suodattaa tuloksen grepin avulla seuraavasti:

$ apt - asennettu luettelo | grep automaattinen

Vastaavasti lscpu tarjoaa yksityiskohtaisia ​​tietoja suorittimesta. Jos olet kiinnostunut vain suorittimen arkkitehtuurista, voit suodattaa sen seuraavalla komennolla:

$ lscpu | grep arkkitehtuuri

Tässä artikkelissa olemme kuvanneet joitain esimerkkejä, jotka auttavat sinua ymmärtämään grep-komentoja ja niiden käyttöä eri olosuhteissa. Vahva tartunta grep-komentoon voi säästää paljon aikaa, jos sinun on tarkasteltava suuria kokoonpano- tai lokitiedostoja ja poimittava hyödyllistä tietoa niiden kautta.

Ilmaiset ja avoimen lähdekoodin pelimoottorit Linux-pelien kehittämiseen
Tämä artikkeli kattaa luettelon ilmaisista ja avoimen lähdekoodin pelimoottoreista, joita voidaan käyttää 2D- ja 3D-pelien kehittämiseen Linuxissa. Tä...
Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...
Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...