grep

Rodyti eilutes prieš ir po rungtynių per „Grep“

Rodyti eilutes prieš ir po rungtynių per „Grep“

„Grep“ buvo plačiai naudojamas „Linux“ sistemose dirbant su kai kuriais failais, ieškant tam tikro modelio ir daug daugiau. Šį kartą mes naudojame komandą grep, norėdami rodyti eilutes prieš ir po atitinkamo raktinio žodžio, naudojamo tam tikrame faile. Šiam tikslui mes naudosime „-A“, „-B“ ir „-C“ vėliavą visoje mokymo programoje. Taigi, norėdami geriau suprasti, turite atlikti kiekvieną žingsnį. Įsitikinkite, kad turite „Ubuntu 20“.04 įdiegta „Linux“ sistema.

Pirma, norėdami pradėti dirbti su grep, turite atidaryti savo Linux komandinės eilutės terminalą. Šiuo metu jūs esate savo „Ubuntu“ sistemos pagrindiniame kataloge iškart po komandinės eilutės terminalo atidarymo. Taigi, pabandykite išvardyti visus failus ir aplankus pagrindiniame „Linux“ sistemos kataloge naudodami žemiau esančią komandą ls, ir jūs gausite visus. Matote, kad joje yra keletas tekstinių failų ir keletas aplankų.

ls

01 pavyzdys: „-A“ ir „-B“ naudojimas

Iš aukščiau parodytų tekstinių failų mes apžvelgsime kai kuriuos iš jų ir bandysime jiems pritaikyti komandą grep. Atidarykime tekstinį failą „vienas.txt “pirmiausia naudodami populiarią komandą„ katė “, kaip nurodyta apačioje:

$ katinas vienas.txt

Pirmiausia šiame tekstiniame faile pamatysime keletą konkrečių žodžių, naudodami komandą grep, kaip nurodyta toliau. Ieškome žodžio „mes“ tekstiniame faile „vienas.txt “naudojant grep instrukciją. Išvestyje rodomos dvi teksto failo eilutės, kuriose yra „mes“.

$ grep mes vienas.txt

Taigi šiame pavyzdyje kai kuriuose teksto failuose rodysime eilutes prieš ir po konkretaus žodžio atitikties. Taigi naudojant tą patį tekstinį failą „vienas.txt “mes derinome žodį„ mes “, o prieš jį rodome 3 eilutes, kaip nurodyta toliau. Vėliava „-B“ reiškia „Prieš“. Išvestyje rodomos tik 2 eilutės prieš konkrečią žodžio eilutę, nes faile nėra daugiau eilučių prieš konkretaus žodžio eilutę. Tai taip pat rodo tas eilutes, kuriose yra tas konkretus žodis.

$ grep -B 3 mes vienas.txt

Panaudokime tą patį raktinį žodį „mes“ iš šio failo, kad būtų rodomos 3 eilutės po eilutės, kuriose yra žodis „mes“. Vėliava „-A“ pateikia „After“. Išvestyje vėl rodomos tik 2 eilutės, nes faile nėra daugiau eilučių.

$ grep -A 3 mes vienas.txt

Taigi, naudokime naują raktinį žodį, kuris bus suderintas, ir rodykime eilutes ar eilutes prieš ir po eilutės, kurioje jis yra. Taigi mes vartojome žodį „gali“, kad atitiktų. Eilutės numeriai šiuo atveju yra vienodi. 3 eilutės po atitikimo žodžio „gali“ buvo rodomos žemiau, naudojant komandą grep.

$ grep -A 3 gali vienas.txt

Galite pamatyti, kaip išvestis rodoma prieš atitinkančio žodžio eilutes, naudojant raktinį žodį „gali“. Priešingai, jis rodo tik dvi eilutes prieš atitikusio žodžio eilutę, nes prieš ją nėra daugiau eilučių.

$ grep -B 3 gali vienas.txt

02 pavyzdys: „-A“ ir „-B“ naudojimas

Paimkime kitą tekstinį failą „du.txt “iš namų katalogo ir rodykite jo turinį naudodami žemiau esančią komandą„ cat “.

$ katinas du.txt

Parodykime 5 eilutes prieš žodį „Dauguma“ iš failo „dvi.txt “naudojant komandą grep. Išvestyje rodomos 5 eilutės prieš eilutėje yra konkretus žodis.

$ grep -B 5 Dauguma dviejų.txt

Grep komanda rodo 5 eilutes po žodžio „Dauguma“ iš teksto failo „dvi.txt “buvo pateiktas žemiau.

$ grep -A 5 Dauguma dviejų.txt

Pakeiskime ieškomą raktinį žodį. Mes naudosime „of“ kaip raktinį žodį, kurį šį kartą reikia suderinti. Parodykite 2 eilutes prieš žodį „iš“ iš teksto failo „dvi.txt “galima padaryti naudojant žemiau esančią komandą grep. Išvestyje rodomos dvi raktinio žodžio „of“ eilutės, nes faile jis yra du kartus. Taigi išvestyje yra daugiau nei 2 eilutės.

$ grep -B 2 iš dviejų.txt

Dabar rodomos 2 failo eilutės „dvi.txt “po eilutės, kurioje yra raktinis žodis„ of “, galima atlikti naudojant žemiau esančią komandą. Išvestyje vėl rodoma daugiau nei 2 eilutės.

$ grep -A 2 iš dviejų.txt

03 pavyzdys: '-C' naudojimas

Kita vėliava „-C“ buvo naudojama rodyti eilutes prieš ir po atitikusio žodžio. Parodykime failo turinį „vienas.txt “naudojant katės komandą.

$ katinas vienas.txt

Mes pasirenkame „visuomenė“ kaip raktinį žodį, kurį reikia suderinti. Žemiau esančioje komandoje „grep“ bus rodomos 2 eilutės prieš ir 2 eilutės po eilutės, kurioje yra žodis „visuomenė“. Išvestyje rodoma viena eilutė prieš konkrečią žodžio eilutę ir 2 eilutės po jos.

$ grep -C 2 visuomenės vienas.txt

Pažiūrėkime failo „du.txt “naudodamiesi žemiau esančia kačių komanda.

$ katė du.txt

Šioje iliustracijoje mes naudojame eilėraščius kaip raktinį žodį. Taigi, atlikite žemiau pateiktą komandą. Išvestyje rodomos dvi eilutės prieš ir dvi eilutės po suderinto žodžio.

$ grep -C 2 eilėraščiai du.txt

Panaudokime dar vieną raktinį žodį iš failo „du.txt “. Šį kartą „gamtą“ vartojame kaip raktinį žodį. Taigi, pabandykite žemiau pateiktą komandą naudodami „-C“ kaip vėliavą, kurios raktinis žodis „gamta“ iš failo „du“.txt “. Šį kartą išvestyje yra daugiau nei dvi eilutės. Kadangi byloje ne kartą yra žodis „gamta“, tai yra jo priežastis. Pirmiausia esančiame raktiniame žodyje „gamta“ yra dvi eilutės prieš ir dvi eilutės po jo. Nors antrasis atitiko tą patį raktinį žodį, „gamta“ prieš jį turi dvi eilutes, tačiau po jo nėra eilučių, nes ji yra paskutinėje failo eilutėje.

$ grep -C 2 eilėraščiai du.txt

Išvada

Naudodamiesi „grep“ instrukcija, sėkmingai rodome eilutes prieš ir po konkretaus žodžio.

„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...
Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...
Ž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...