Grep se pogosto uporablja v sistemih Linux pri delu z nekaterimi datotekami, iskanju določenega vzorca in mnogih drugih. Tokrat z ukazom grep prikažemo vrstice pred in za ujemajočo se ključno besedo, uporabljeno v neki določeni datoteki. V ta namen bomo v navodilih za uporabo uporabljali zastavice "-A", "-B" in, -C. Torej, za boljše razumevanje morate izvesti vsak korak. Prepričajte se, da imate Ubuntu 20.04 Nameščen sistem Linux.
Najprej morate odpreti terminal ukazne vrstice Linux, da začnete delati na grep. Trenutno ste v domačem imeniku sistema Ubuntu takoj po odprtju terminala ukazne vrstice. Torej, poskusite navesti vse datoteke in mape v domačem imeniku vašega sistema Linux z uporabo spodnjega ukaza ls, in dobili boste vse. Vidite, v njej imamo nekaj besedilnih datotek in nekaj map.
ls
Primer 01: Uporaba '-A' in '-B'
Iz zgoraj prikazanih besedilnih datotek si bomo ogledali nekatere od njih in na njih poskusili uporabiti ukaz grep. Odprimo besedilno datoteko “ena.txt «najprej uporabite priljubljeni ukaz» mačka «spodaj:
$ mačka ena.txt
V tej besedilni datoteki bomo najprej videli ujemanje določenih besed z uporabo ukaza grep, kot je prikazano spodaj. Iščemo besedo "mi" v besedilni datoteki "ena".txt "z uporabo grep navodil. Na izhodu sta prikazani dve vrstici iz besedilne datoteke, ki imata "mi".
$ grep smo eno.txt
V tem primeru bomo v nekaterih besedilnih datotekah prikazali vrstice pred in po ujemanju določene besede. Torej z uporabo iste besedilne datoteke »ena.txt "smo se med prikazom treh vrstic pred njo, kot spodaj, ujemali z besedo" mi ". Zastavica "-B" pomeni "Pred". Izhod prikazuje samo dve vrstici pred določeno besedno vrstico, ker datoteka nima več vrstic pred vrstico določene besede. Prav tako prikazuje tiste vrstice, ki vsebujejo to posebno besedo.
$ grep -B 3 smo eno.txt
Uporabimo isto ključno besedo "mi" iz te datoteke za prikaz 3 vrstic za vrstico, ki imajo besedo "mi". Zastavica "-A" predstavlja "Po". Izhod ponovno prikaže samo dve vrstici, ker v datoteki nima več vrstic.
$ grep -A 3 smo eno.txt
Torej, uporabimo novo ključno besedo, ki se ujema in prikažemo vrstice ali vrstice pred in za vrstico, v kateri leži. Torej uporabljamo besedo "lahko", ki se ujema. Številke vrstic so v tem primeru enake. Tri vrstice za ujemajočo se besedo »lahko« so bile prikazane spodaj z ukazom grep.
$ grep -A 3 lahko ena.txt
Rezultate lahko vidite pred vrsticami ujemajoče se besede z uporabo ključne besede »lahko«. Nasprotno pa prikazuje le dve vrstici pred vrstico ujemajoče se besede, ker pred njo ni več vrstic.
$ grep -B 3 lahko eno.txt
Primer 02: Uporaba '-A' in '-B'
Vzemimo drugo besedilno datoteko, »dve.txt, «iz domačega imenika in s pomočjo spodnjega ukaza» mačka «prikažite njegovo vsebino.
$ mačka dva.txt
Pokažimo 5 vrstic pred besedo »Most« iz datoteke »two.txt «z uporabo ukaza grep. Izhod prikazuje 5 vrstic, preden vrstica vsebuje določeno besedo.
$ grep -B 5 Največ dve.txt
Ukaz grep za prikaže 5 vrstic za besedo »Most« iz besedilne datoteke »two.txt "je navedeno spodaj.
$ grep -A 5 Največ dve.txt
Spremenimo ključno besedo za iskanje. Kot ključno besedo, ki se bo tokrat ujemala, bomo uporabili “of”. Prikažite dve vrstici pred besedo “of” iz besedilne datoteke “two”.txt "lahko naredite z uporabo spodnjega ukaza grep. Na izhodu sta prikazani dve vrstici za ključno besedo »of«, ker je dvakrat v datoteki. Tako izhod vsebuje več kot 2 vrstici.
$ grep -B 2 od dveh.txt
Zdaj se prikažeta dve vrstici datoteke »dve.txt «za vrstico, ki vsebuje ključno besedo» od «, lahko naredite s spodnjim ukazom. Izhod ponovno prikaže več kot 2 vrstici.
$ grep -A 2 od dveh.txt
Primer 03: Uporaba '-C'
Druga oznaka, "-C", je bila uporabljena za prikaz vrstic pred in za ujemajočo se besedo. Pokažimo vsebino datoteke »ena.txt «z ukazom cat.
$ mačka ena.txt
Kot ključno besedo, ki se ujema, izberemo »družba«. Spodnji ukaz grep bo prikazal dve vrstici pred in dve vrstici za vrstico, ki vsebuje besedo "družba". Izhod prikazuje eno vrstico pred določeno besedno vrstico in dve vrstici za njo.
$ grep -C 2 družba ena.txt
Poglejmo vsebino datoteke »dva.txt "z uporabo spodnjega ukaza mačka.
$ mačka dva.txt
Na tej ilustraciji uporabljamo »pesmi« kot ključno besedo, ki se ujema. Za to izvedite spodnji ukaz. Izhod prikazuje dve vrstici pred in dve vrstici za ujemajočo se besedo.
$ grep -C 2 pesmi dve.txt
Uporabimo še eno ključno besedo iz datoteke »dva.txt ", ki se ujema. Tokrat kot ključno besedo uživamo »naravo«. Torej, poskusite spodnji ukaz, medtem ko uporabljate “-C” kot zastavico s ključno besedo “narava” iz datoteke “dva.txt ". Tokrat ima izhod več kot dve vrstici v izhodu. Ker datoteka večkrat vsebuje besedo "narava", je to razlog. Ključna beseda "narava", ki je na prvem mestu, ima dve vrstici pred in dve vrstici za seboj. Medtem ko se je druga ujemala z isto ključno besedo, ima »narava« dve vrstici pred seboj, za njo pa ni vrstic, ker je v zadnji vrstici datoteke.
$ grep -C 2 pesmi dve.txt
Zaključek
Uspešno prikazujemo vrstice pred in za določeno besedo, medtem ko uporabljamo grep navodila.