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

Show Lines Before After Match Via Grep



„Grep“ buvo plačiai naudojamas „Linux“ sistemose dirbant su kai kuriais failais, ieškant tam tikro modelio ir dar daugiau. Šį kartą mes naudojame komandą grep, kad būtų rodomos eilutės prieš ir po atitinkamo raktinio žodžio, naudojamo tam tikrame faile. Šiuo tikslu visame mokymo vadove naudosime vėliavą -A, -B ir, -C. Taigi, norėdami geriau suprasti, turite atlikti kiekvieną žingsnį. Įsitikinkite, kad įdiegta „Ubuntu 20.04 Linux“ sistema.

Pirmiausia, norėdami pradėti dirbti su grep, turite atidaryti „Linux“ komandų eilutės terminalą. Šiuo metu esate „Ubuntu“ sistemos namų kataloge iškart atidarius komandų eilutės terminalą. Taigi, pabandykite išvardyti visus failus ir aplankus, esančius jūsų „Linux“ sistemos namų kataloge, naudodami žemiau esančią komandą ls, ir gausite viską. Matote, mes turime kai kuriuos teksto failus ir kai kuriuos aplankus.







ls



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

Iš aukščiau pateiktų teksto failų apžvelgsime kai kuriuos iš jų ir pabandysime jiems pritaikyti komandą grep. Pirmiausia atidarykime tekstinį failą one.txt naudodami žemiau pateiktą populiarią katės komandą:



$katėone.txt





Pirmiausia pamatysime kai kuriuos konkrečius žodžius, atitinkančius šiame teksto faile, naudodami komandą grep, kaip nurodyta toliau. Mes ieškome žodžio mes teksto faile one.txt naudodami grep instrukciją. Išvestis rodo dvi eilutes iš teksto failo, kuriame yra mes.

$suimtimes vienas.txt



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

$suimti- B3mes vienas.txt

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

$suimti-TO3mes 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 naudojome žodį gali būti suderintas. Eilučių numeriai šiuo atveju yra vienodi. 3 eilutės po atitikusio žodžio galėjo būti rodomos žemiau naudojant komandą grep.

$suimti-TO3gali vienas.txt

Galite matyti išvestį prieš atitinkamo žodžio eilutes naudodami raktinį žodį. Priešingai, prieš atitinkamo žodžio eilutę rodomos tik dvi eilutės, nes prieš jį nėra daugiau eilučių.

$suimti- B3gali vienas.txt

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

Iš namų katalogo paimkime kitą tekstinį failą two.txt ir parodykite jo turinį naudodami žemiau pateiktą komandą cat.

$katėdu.txt

Parodykime 5 eilutes prieš žodį Most iš failo two.txt naudodami komandą grep. Išvestis rodo 5 eilutes prieš eilutę, kurioje yra konkretus žodis.

$suimti- B5Dauguma dviejų. Txt

Komanda grep rodo 5 eilutes po žodžio Most iš teksto failo two.txt.

$suimti-TO5Dauguma dviejų. Txt

Pakeiskime ieškomą raktinį žodį. Šį kartą naudosime kaip raktinį žodį. Rodyti 2 eilutes prieš žodį iš teksto failo two.txt galima padaryti naudojant žemiau esančią komandą grep. Išvestyje rodomos dvi raktinio žodžio eilutės, nes faile jis pateikiamas du kartus. Taigi išvestyje yra daugiau nei 2 eilutės.

$suimti- B2iš dviejų.txt

Dabar rodyti 2 failo two.txt eilutes po eilutės, kurioje yra raktinis žodis, galima padaryti naudojant žemiau esančią komandą. Išvestyje vėl rodomos daugiau nei 2 eilutės.

$suimti-TO2iš dviejų.txt

03 pavyzdys: „-C“ naudojimas

Kita vėliava, -C, buvo naudojama rodyti eilutes prieš ir po atitikusio žodžio. Parodykime failo one.txt turinį naudodami komandą cat.

$katėone.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žių eilutę ir 2 eilutės po jos.

$suimti- C.2visuomenė one.txt

Pažiūrėkime failo two.txt turinį naudodami žemiau pateiktą komandą cat.

$katėdu.txt

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

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

Panaudokime dar vieną raktinį žodį iš failo two.txt, kurį reikia suderinti. Šį kartą mes vartojame gamtą kaip raktinį žodį. Taigi, išbandykite žemiau pateiktą komandą, kai naudojate -C kaip vėliavą, kurios raktinis žodis yra iš failo two.txt. Šį kartą išvestyje yra daugiau nei dvi eilutės. Kadangi faile yra žodis gamta daugiau nei vieną kartą, tai yra priežastis. Pirmasis raktinis žodis gamta turi dvi eilutes prieš ir dvi eilutes po jo. Nors antrasis atitiko tą patį raktinį žodį, prieš gamtą yra dvi eilutės, tačiau po jo nėra eilučių, nes jis yra paskutinėje failo eilutėje.

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

Išvada

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