Grepi käsk Linuxis

Grep Command Linux



Käsk Grep (globaalne regulaaravaldise printimine) on kõige võimsam ja regulaarselt kasutatav Linuxi käsurea utiliit. Grepi abil saate otsida kasulikku teavet, määrates otsingukriteeriumid. See otsib määratud failist konkreetset väljendusmustrit. Kui see leiab vaste, prindib see kõik määratud mustrile vastavad faili read. See tuleb kasuks, kui peate suuri logifaile läbi filtreerima.

Selles artiklis selgitame grep -utiliidi kasutamist erinevate näidetega. Kasutame Debian 10 -d selles artiklis nimetatud käskude ja meetodite selgitamiseks.







Grepi installimine

Grep on installitud enamikku Linuxi distributsioonidest. Kuid juhul, kui see teie süsteemist puudub, saate selle terminali installida, kasutades järgmist meetodit:



$sudo apt-get install haaret

Grepi kasutamine

Siin on käsu grep põhisüntaks. See algab grep -ga, millele järgnevad mõned valikud ja otsingukriteeriumid ning lõpeb seejärel faili nimega.



$haaret [võimalusi]MUSTER[FILE ...]

Otsi faile

Faili nime otsimiseks kataloogist, mis sisaldab konkreetset stringi, saate grep -i kasutada järgmiselt.





$ls -neid | haaret -minastring

Näiteks stringi sisaldava failinime otsimiseks test , käsk oleks järgmine:

$ls-neid| haaret–Itest

See käsk loetleb kõik stringid sisaldavad failid test .



Otsige failist stringi

Konkreetsest failist stringi otsimiseks võite kasutada järgmist käsusüntaksi:

$haaretstringi failinimi

Näiteks stringi otsimiseks test nimega failis testfail1 , oleme kasutanud järgmist käsku :

$haarettöötaja testfail 1

Ülaltoodud väljund on lause tagastanud testfail1 mis sisaldab stringi töötaja .

Otsige stringi mitmest failist

Stringi otsimiseks mitmest failist saate kasutada järgmist käsusüntaksi:

$haaretstring failinimi1 failinimi2

Näiteks stringi töötaja otsimiseks meie kahest failist testfile1 ja testfile2 oleme kasutanud järgmist käsku:

$haarettöötaja testfail1 testfail2

Ülaltoodud käsk loetleb kõik read, mis sisaldavad stringi töötajat nii failidest testfile1 kui ka testfile2.

Võite kasutada ka metamärki, kui kõik failinimed algavad sama tekstiga.

$haaretstringi failinimi*

Näiteks kui võtame ülaltoodud näite, milles meie failinimed olid testfail1 ja testfail2 , käsk oleks järgmine:

$haarettöötaja testfail*

Otsige failist stringi, ignoreerides stringi väiketähti

Kõige sagedamini olete sellega kokku puutunud, kui otsite midagi grepi abil, kuid ei saa väljundit. See juhtub juhtumi mittevastavuse tõttu stringi otsimisel. Nagu meie näites, kui kasutame ekslikult Töötaja selle asemel töötaja , see tagastab nulli, kuna meie fail sisaldab stringi töötaja väiketähtedega.

Kui soovite grepi käsutada, et see ignoreeriks otsingustringi, kasutage grei järel lippu –i järgmiselt:

$haaret–I stringi failinimi

Kasutades lippu –i, viib käsk läbi väiketundetundliku otsingu ja tagastab kõik stringid sisaldavad read töötaja selles arvesse võtmata on tähed suured või väikesed.

Otsige regulaaravaldise abil

Õige kasutamise korral on regulaaravaldis grepis väga tõhus funktsioon. Käsu Grep abil saate määratleda regulaaravaldise alguse ja lõpu märksõnaga. Seda tehes ei pea te kogu rida käsuga grep tippima. Sel eesmärgil saab kasutada järgmist süntaksit.

$haaretalustav märksõna.*Ending Keyword failinimi

Näiteks, et otsida failist testfile1 rida, mis algab stringiga ja lõpeb stringiandmetega, oleme kasutanud järgmist käsku:

$haaretseda.*andmete testfail1

See prindib kogu rea lehelt testfail1 mis sisaldab väljendit (algusmärksõna see ja lõpu märksõna andmed).

Printige teatud arv ridu pärast/enne otsingustringi

Samuti saate kuvada faili ridade arvu enne/pärast stringivastumist koos sobitatud stringi endaga. Sel eesmärgil saab kasutada järgmist süntaksit.

$haaret -TO <N>stringi failinimi

See kuvab N arvu ridu pärast seda, kui string on sobitatud määratud failis, sealhulgas sobitatud string.

Näiteks on see meie näidisfail nimega testfail2 .

Järgmine käsk väljastab stringi sisaldava sobitatud rea töötaja , koos sellele järgneva 2 reaga.

$haaret-TO2–I töötaja testfail2

Samamoodi kasutage N -arvu ridade kuvamiseks enne vastavat stringi konkreetses failis järgmist süntaksit:

$haaret -B <N>stringi failinimi

Konkreetse faili stringide ümber N -arvu ridade kuvamiseks kasutage järgmist süntaksi:

$haaret -C <N>stringi failinimi

Otsingu esiletõstmine

Grep prindib vaikimisi sobitatud read, kuid ei näita, milline rea osa sobib. Kui kasutate grepiga valikut -color, näitab see, kus teie failis töötlusstringid ilmuvad. Grep kasutab vaikimisi esiletõstmiseks punast värvi.

Sel eesmärgil saab kasutada järgmist süntaksit.

$haaretstringi failinimi--värv

Vastete arvu lugemine

Kui soovite lugeda, mitu korda konkreetne sõna konkreetses failis esineb, võite kasutada valikut grep koos –c. See tagastab ainult vastete arvu, mitte vasteid ise. Sel eesmärgil saab kasutada järgmist süntaksit.

$haaret–C stringi failinimi

Meie näidisfail näeb välja selline:

Allpool on näide käsust, mis tagastab sõna mitu korda faili ilmus failis nimega testfail3 .

Pööratud otsing

Mõnikord soovite teha vastupidise otsingu, mis kuvab kõik read, välja arvatud sisendile vastavad read. Selleks kasutage lihtsalt lippu –v, millele järgneb grep:

$haaret–V stringi failinimi

Näiteks faili kõigi ridade kuvamiseks testfail3 mis ei sisalda neis sõna konto, oleme kasutanud järgmist käsku:

$haaret–V konto testfail3

Grepi kasutamine koos teiste käskudega

Grepi saab kasutada ka vajaliku tulemuse filtreerimiseks erinevatest käskudest. Näiteks alates apt - installitud loend käsu väljundit, soovite leida ainult automaatselt installitud paketid, saate tulemuse grep abil välja filtreerida järgmiselt:

$asjakohane-paigaldatudnimekirja| haaretautomaatne

Samamoodi pakub lscpu CPU kohta üksikasjalikku teavet. Kui teid lihtsalt huvitab protsessori arhitektuuri puudutav teave, saate selle järgmise käsu abil välja filtreerida:

$lscpu| haaretArhitektuur

Selles artiklis oleme kirjeldanud mõningaid näiteid, mis aitavad teil mõista käske grep ja selle kasutamist erinevates tingimustes. Grep -käsu tugev haare võib säästa palju aega, kui peate vaatama suuri konfiguratsiooni- või logifaile ja nende kaudu kasulikku teavet lugema.