grep

Grep käsk Linuxis

Grep käsk Linuxis
Grep (globaalse regulaaravaldise printimine) käsk on kõige võimsam ja regulaarselt kasutatav Linuxi käsurea utiliit. Grepi abil saate otsingukriteeriume täpsustades otsida kasulikku teavet. See otsib määratud failist kindlat avaldismustrit. Kui leiab vaste, prindib see kõik faili read, mis vastasid määratud mustrile. See on mugav, kui peate filtreerima suuri logifaile.

Selles artiklis selgitame grep-utiliidi kasutamist erinevate näidetega. Selles artiklis mainitud käskude ja meetodite selgitamiseks kasutame Debian 10.

Grepi installimine

Grep on installitud enamusesse Linuxi distributsioonidesse. Kuid juhul, kui see teie süsteemist puudub, saate selle installida terminalis järgmise meetodi abil:

$ sudo apt-get install grep

Grepi kasutamine

Siin on käsu grep põhiline süntaks. See algab grep-iga, millele järgnevad mõned valikud ja otsingukriteeriumid, ja lõpeb seejärel failinimega.

$ grep [valikud] MUSTEL [FILE ...]

Failide otsimine

Failinime otsimiseks kataloogist, mis sisaldab spetsiifilist stringi, saate grepi kasutada järgmiselt:

$ ls -l | grep -i “string

Näiteks failinime otsimiseks, mis sisaldab stringi “test“, Käsk oleks:

$ ls -l | grep -i test

See käsk loetleb kõik failid, mis sisaldavad stringi “test”.

Otsige failist stringi

Konkreetsest failist stringi otsimiseks võite kasutada järgmist käskude süntaksit:

$ grep "string" failinimi

Näiteks stringi otsimisekstest”Failis nimega testfail1, oleme kasutanud järgmist käsku:

$ grep "töötaja" testfail1

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

Stringi otsimine mitmest failist

Stringi otsimiseks mitmest failist saate kasutada järgmist käskude süntaksit:

$ grep “string” failinimi1 failinimi2

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

$ grep “töötaja” testfail1 testfail2

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

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

$ grep "string" failinimi *

Nagu, kui võtame ülaltoodud näite, milles meie failinimed olid testfail1 ja testfile2 , käsk oleks:

$ grep "töötaja" testfail *

Otsige failist stringi, ignoreerides stringi suurtähti

Kõige sagedamini olete sellega kokku puutunud, kui otsite midagi grepi abil, kuid ei saa väljundit. See juhtub stringi otsimisel juhtumite mittevastavuse tõttu. Nagu meie näites, kui me ekslikult kasutameTöötaja" selle asemel "töötaja”, Tagastab see nulli, kuna meie fail sisaldab stringi“töötaja”Väikeste tähtedega.

Võite grepile öelda, et otsingustringi juhtumeid ignoreeritakse, kasutades grepi järel lippu -i järgmiselt:

$ grep -i "string" failinimi

Kasutades lippu -i, teostab käsk väiketähteta otsingu ja tagastab kõik read, mis sisaldavad stringi “töötaja”Selles, arvestamata tähed, on suured või väikesed.

Otsige regulaaravaldise abil

Õige kasutamise korral on regulaarne avaldis grepis väga tõhus funktsioon. Grepi käsuga saate määratleda regulaaravaldise algus- ja lõpumärksõnadega. Seda tehes ei pea te tervet rida käsuga grep tippima. Selleks saab kasutada järgmist süntaksit.

$ grep “algusmärksõna.* LõppMärksõna ”failinimi

Näiteks failis testfile1 rida otsimiseks, mis algab stringiga „this” ja lõpeb stringiga „data”, oleme kasutanud järgmist käsku:

$ grep "see.* andmed ”testfail1

See prindib kogu rea reast testfail1 sisaldab väljendit (algusmärksõna „see” ja lõpumärksõna „andmed”).

Printige otsingurea ette / ette konkreetne arv ridu

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

$ grep -A "String" failinimi

Pärast stringi sobitamist määratud failis koos sobitatud stringiga kuvatakse N rida.

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

Järgmine käsk väljastab sobitatud rea, mis sisaldab stringi “töötaja”Koos 2 selle järel oleva reaga.

$ grep -A 2 -i "töötaja" testfail2

Samamoodi kasutage järgmist süntaksit, et kuvada kindlas failis N-i ridade arv enne sobitatud stringi

$ grep -B "String" failinimi

N rea rea ​​kuvamiseks stringi ümber kindlas failis kasutage järgmist süntaksit:

$ grep -C "String" failinimi

Otsingu esiletõstmine

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

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

$ grep "string" failinimi - värv

Mängude arvu lugemine

Kui soovite kokku lugeda, mitu korda konkreetne sõna konkreetses failis ilmub, võite kasutada valikut grep with -c. See tagastab ainult vastete arvu, mitte vastete enda. Sel eesmärgil saab kasutada järgmist süntaksit:

$ grep -c "string" failinimi

See on meie näidisfaili välimus:

Järgnevalt on toodud näide käsust, mis tagastas sõna mitu korda faili ilmus faili nimega testfail3.

Pööratud otsing

Mõnikord soovite teha vastupidist otsingut, mis kuvab kõik read, välja arvatud need, mis vastavad sisendile. Selleks kasutage lihtsalt -v lippu, millele järgneb grep:

$ grep -v "string" failinimi

Näiteks faili kõigi ridade kuvamiseks testfail3 milles pole sõna „konto”, oleme kasutanud järgmist käsku:

$ grep -v "konto" testfail3

Grepi kasutamine teiste käskudega

Grepi saab kasutada ka vajaliku tulemuse filtreerimiseks erinevatest käskude väljunditest. Näiteksapt -installitud loend ” käsu väljund, soovite leida ainult automaatselt installitud paketid, võite filtreerida tulemuse grepi abil järgmiselt:

$ apt - installitud loend | grep automaatne

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

$ lscpu | grep Arhitektuur

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

Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...