grep

„Linux grep“ komanda

„Linux grep“ komanda
„Grep“ yra vienas iš patogiausių įrankių, kuriuos galite turėti. Šis komandinės eilutės įrankis atlieka paiešką paprasto teksto duomenų rinkiniuose. Grepas iš tikrųjų yra akronimasglobalinė paieška a regulinis expression ir print “. Grepas pradėjo savo kelionę būdamas UNIX šeimos dalimi. Laikui bėgant, dabar jis prieinamas visoms populiarioms platformoms, tokioms kaip „Linux“, „Mac“, BSD ir net „Windows“!

Ar anksčiau naudojote grep? Dažniausiai pagrindinį „grep“ triuką galima atlikti didžiąją dalį darbo. Tačiau „grep“ siūlo daugybę būdų atlikti paiešką ir sureguliuoti išvestį į labiau pritaikomą versiją. Šiame straipsnyje patikrinkime, kaip naudojama „grep“ komanda.

Grep naudojimas

Tikrinimas egzistavimo

Jei naudojate bet kokį „Linux“ platinimą, tada jau turite įdiegtą „grep“. Paleiskite šią komandą terminale.

grep - versija

Ši komanda naudojama norint parodyti šiuo metu įdiegto grep versiją. Dabar mums reikia demonstracinio failo. Mano atveju sugeneruosiu tekstinį failą, kuriame bus visi mano sistemoje įdiegti paketai.

Pagrindai

Pagrindinis grep naudojimas yra toks.

grep

Arba, norėdami lengviau suprasti, naudokite šį.

grep -e -f

Tokiu atveju „grep“ atliks paiešką faile ir išspausdins visas eilutes, kuriose yra šablonas (paieškos terminas).

grep python ~ / Desktop / PackageList.txt

Grepas ieškojo failo „PackageList.txt “Aš sugeneravau anksčiau ir atspausdinau visas eilutes, kuriose yra„ python “.

Tą pačią operaciją galima atlikti ir kitu būdu. Peržiūrėkite šį pavyzdį.

katė ~ / Desktop / PackageList.txt | grep pitonas

Čia, naudodamas komandą „cat“, išsiunčiau failo „PackageList.txt “grepuoti. Naudodamas katės išvestį, grep atliko paiešką ir išspausdino eilutes, kuriose yra paieškos terminas.

Dabar ateina įdomus dalykas. Tiesiog pažodžiui galite sukrauti kelias grep komandas.

katė ~ / Desktop / PackageList.txt | grep - | grep p | grep pitonas

Pirmasis „grep“ filtruoja iki linijų brūkšneliu, antrasis - iki linijų su p, o galutinis „grep“ filtruoja iki linijų su pitonu. Yra logiškas?

Didžiųjų ir mažųjų raidžių jautrumas

Atliekant paiešką, svarbiausias klausimas yra didžiųjų ir mažųjų raidžių jautrumas. Pagal numatytuosius nustatymus „grep“ skiria didžiosios ir mažosios raidės.

Pavyzdžiui, ieškant „Python“ nebus rodomi jokie rezultatai.

katė ~ / Desktop / PackageList.txt | grep Python

Norėdami, kad „grep“ raidė būtų „nejautri“, pridėkite šią parinktį.

katė ~ / Desktop / PackageList.txt | grep -i Python

Failų paieška

Tarkime, kad turite katalogą su daugybe tekstinių failų. Jūsų tikslas yra nustatyti failą (-us), kuriame yra arba nėra modelio (paieškos terminas).

Manau, kad šis metodas yra labai naudingas ieškant žurnalo failų krūvoje. Kadangi neturiu laiko atidaryti ir patikrinti kiekvieno failo rankiniu būdu, turiu atlikti grep, kad atlikčiau darbą už mane.

Norėdami išvardyti failus, kuriuose yra atitikmuo, naudokite „-l“ vėliavą.

grep -l / search / directory / *

Kaip rodo rezultatas, terminas „python“ yra visuose 3 „Desktop“ kataloge esančiuose failuose.

Norėdami išvardyti failus be atitikties, naudokite „-L“ vėliavą.

grep -L / search / directory / *

"Nesutampa.txt “yra vienintelis failas, kuriame nėra termino„ python “.

Apversta paieška

Numatytasis „grep“ elgesys yra tai, kad dešinėje spausdinamos tik eilutės su atitinkamu raštu? Atėjo laikas pakeisti procesą. Šį kartą spausdinsime tik eilutes BE BE atitinkančio rašto.

Tiesiog perduokite „-v“ parinktį, kad greptumėte.

katė ~ / Desktop / PackageList.txt | grep -i -v Python

Linijų spausdinimas prieš / po rungtynių

Pagal numatytuosius nustatymus „grep“ spausdins tik eilutę, atitinkančią paieškos modelį. Naudodamiesi šia technika, galite pasakyti grep, kad atspausdintų linijas ir prieš / po rungtynių.

Norėdami spausdinti linijas prieš rungtynes, naudokite šią struktūrą.

grep -B

Čia 5 yra skaičiaus eilutė, kurią grep atspausdins PRIEŠ atitikimo eilutę.

Norėdami spausdinti eilutes po rungtynių, naudokite šią.

grep -A

Kaip spausdinti prieš ir po atitikimo eilutės? Tokiu atveju naudokite „-C“ vėliavą.

grep -C

Eilės numeris

Kai grep rodo išvestį, jis nemini eilutės numerio. Susietam (-iems) eilutės (-ių) numeriui naudokite „-n“ vėliavą.

grep -n

Vienas žodis

Jei naudojama vėliava „-w“, „grep“ modelį traktuos kaip visą žodį.

grep -w

„Grep“ paieškos apribojimas

„Grep“ leidžia nurodyti faile ieškomų eilučių skaičių. Šis metodas yra naudingas, jei turite reikalų su dideliu failu (pvz., Sistemos žurnalu). Naudokite vėliavą „-m“.

grep -m

Rekursinė paieška

Tai yra viena iš labiausiai naudingų funkcijų, kurias „grep“ siūlo intensyviam naudojimui. „Grep“ gali rekursyviai ieškoti kataloge ir rasti visas atitiktis iš visų failų, su kuriais susiduria.

grep -R

Arba,

grep -r

Aš dažnai randu naudodamas šią rekursyvią funkciją kartu su „-l“ vėliava.

Tylus režimas

„Grep“ galima paleisti „ramiu“ režimu. Kai veikia „tylus“ režimas, „grep“ nespausdins jokios išvesties į terminalą. Vietoj to jis grąžins 0 (bent jau buvo rasta atitiktis) arba 1 (atitiktis nerasta).

grep -q
aidas $?

Regex

„Grep“ taip pat leidžia atlikti regex (reguliariosios išraiškos) paieškas. Tai padidina visiškai naują grep, kaip paieškos įrankio, sudėtingumą ir tinkamumą.

Pvz., Skliausteliuose galite ieškoti tiek „per“, tiek „du“ vienu metu.

katė ~ / darbalaukis / gpl-3.0.txt | grep t [wo] o

Šis kitas pavyzdys atspausdins eilutę tik tuo atveju, jei atitiktis bus pačioje eilutės pradžioje.

grep ^ GNU ~ / Desktop / gpl-3.0.txt

Jei norite suderinti pabaigą, naudokite šią.

grep you $ ~ / Desktop / gpl-3.0.txt

Jei norite naudoti „Perl“ regex, naudokite „-P“ vėliavą. Tai traktuos modelį kaip „Perl“ regex.

grep -P

Paskutinės mintys

„Grep“ siūlo daugybę būdų, kaip pritaikyti paieškos funkciją. „Regex“ prieinamumas atveria visiškai naują horizontą galimam grep naudojimui. Kietas dalykas yra tai, kad galite naudoti ir bendrą, ir „Perl“ regex; kad ir su kuo jaustumėtės.

Norėdami gauti išsamų paaiškinimą, visada ieškokite vyro puslapyje.

vyras grep

Cheers!

Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...