„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.