Prikaži linije prije i poslije utakmice putem Grepa

Show Lines Before After Match Via Grep



Grep se naširoko koristi u Linux sustavima pri radu na nekim datotekama, traženju određenog uzorka i mnogim drugim. Ovaj put koristimo naredbu grep za prikaz redaka prije i poslije ključne riječi koja se koristi u nekoj određenoj datoteci. U tu ćemo svrhu koristiti zastavice -A, -B i, -C u cijelom našem vodiču. Dakle, za bolje razumijevanje morate izvesti svaki korak. Provjerite imate li instaliran Ubuntu 20.04 Linux sustav.

Prvo morate otvoriti terminal za naredbeni redak u Linuxu da biste počeli raditi na grepu. Trenutno ste u početnom direktoriju vašeg Ubuntu sustava odmah nakon otvaranja terminala naredbenog retka. Dakle, pokušajte popisati sve datoteke i mape u početnom direktoriju vašeg Linux sustava pomoću naredbe ls ispod, i dobit ćete sve. Vidite, imamo neke tekstualne datoteke i neke mape navedene u njoj.







ls



Primjer 01: Upotreba ‘-A’ i ‘-B’

Iz gore prikazanih tekstualnih datoteka ćemo pogledati neke od njih i pokušati na njih primijeniti naredbu grep. Prvo otvorimo tekstualnu datoteku one.txt koristeći popularnu naredbu cat ispod:



$mačkaone.txt





Prvo ćemo vidjeti neke specifične riječi koje se podudaraju u ovoj tekstualnoj datoteci pomoću naredbe grep kao u nastavku. Tražimo riječ mi u tekstualnoj datoteci one.txt pomoću grep upute. Izlaz prikazuje dva retka iz tekstualne datoteke u kojoj imamo mi.

$zahvatmi jedan.txt



Dakle, u ovom primjeru pokazat ćemo retke prije i poslije određenog podudaranja riječi u nekim tekstualnim datotekama. Dakle, koristeći istu tekstualnu datoteku one.txt uspoređujemo riječ koju smo prikazali dok smo ispred nje prikazali 3 retka kao u nastavku. Zastava -B znači Prije. Izlaz prikazuje samo 2 retka prije određenog reda riječi jer datoteka nema više redaka ispred retka određene riječi. Također prikazuje one retke koji sadrže tu određenu riječ.

$zahvat–B3mi jedan.txt

Koristimo istu ključnu riječ iz ove datoteke za prikaz 3 retka iza retka koji imaju riječ mi. Zastava -A predstavlja After. Izlaz opet prikazuje samo 2 retka jer nema više redaka u datoteci.

$zahvat-DO3mi jedan.txt

Dakle, upotrijebimo novu ključnu riječ za uparivanje i prikaz redaka ili redaka prije i poslije retka u kojem se nalazi. Tako smo koristili riječ može se uskladiti. Brojevi redaka su u ovom slučaju isti. Tri retka nakon riječi koja se podudara mogu se prikazati ispod pomoću naredbe grep.

$zahvat-DO3može jedan.txt

Možete vidjeti izlazne podatke ispred redaka podudarane riječi pomoću ključne riječi can. Nasuprot tome, prikazuje samo dva retka ispred retka podudarane riječi jer prije njega nema više redaka.

$zahvat–B3može jedan.txt

Primjer 02: Upotreba ‘-A’ i ‘-B’

Uzmimo drugu tekstualnu datoteku, two.txt, iz matičnog direktorija i prikažemo njezin sadržaj pomoću naredbe cat u nastavku.

$mačkatwo.txt

Prikažimo 5 redaka prije riječi Most iz datoteke two.txt pomoću naredbe grep. Izlaz prikazuje 5 redaka prije nego redak sadrži određenu riječ.

$zahvat–B5Najviše dva.txt

Naredba grep to prikazuje dolje 5 riječi nakon riječi Most iz tekstualne datoteke two.txt.

$zahvat-DO5Najviše dva.txt

Promijenimo ključnu riječ za pretraživanje. Ovaj ćemo put upotrijebiti kao ključnu riječ za podudaranje. Prikaz 2 retka prije riječi iz tekstualne datoteke two.txt može se učiniti pomoću naredbe grep ispod. Izlaz prikazuje dva retka za ključnu riječ jer se u datoteci nalazi dva puta. Tako izlaz sadrži više od 2 retka.

$zahvat–B2od dva.txt

Prikaz 2 retka datoteke two.txt nakon retka koji sadrži ključnu riječ može se učiniti pomoću naredbe ispod. Izlaz ponovno prikazuje više od 2 retka.

$zahvat-DO2od dva.txt

Primjer 03: Upotreba ‘-C’

Druga zastavica, -C, korištena je za prikaz redaka prije i poslije podudarane riječi. Prikažimo sadržaj datoteke one.txt pomoću naredbe cat.

$mačkaone.txt

Odabiremo društvo kao ključnu riječ kojoj treba uskladiti. Donja naredba grep prikazat će 2 retka prije i 2 retka nakon retka koji u sebi sadrži riječ društvo. Izlaz prikazuje jedan redak prije određenog reda riječi i 2 retka iza njega.

$zahvat–C2društvo one.txt

Pogledajmo sadržaj datoteke two.txt pomoću naredbe cat u nastavku.

$mačkatwo.txt

Na ovoj ilustraciji koristimo pjesme kao ključnu riječ za podudaranje. Dakle, za to izvedite naredbu ispod. Izlaz prikazuje dva retka prije i dva retka nakon riječi koja se podudara.

$zahvat–C2pjesme dvije.txt

Upotrijebimo još jednu ključnu riječ iz datoteke two.txt za podudaranje. Ovaj put kao ključnu riječ konzumiramo prirodu. Dakle, isprobajte donju naredbu dok koristite -C kao oznaku koja ima ključnu riječ iz datoteke two.txt. Ovaj put izlaz ima više od dva retka u izlazu. Budući da datoteka više puta sadrži riječ priroda, to je razlog za to. Ključna riječ priroda koja dolazi prva ima dva retka prije i dva retka iza sebe. Dok je drugi odgovarao istoj ključnoj riječi, priroda ima dva retka ispred sebe, ali nema redaka iza njega jer se nalazi u zadnjem retku datoteke.

$zahvat–C2pjesme dvije.txt

Zaključak

Uspješno smo prikazati retke prije i poslije određene riječi dok koristimo grep instrukciju.