grep

Pokažite vrstice pred in po tekmi prek Grepa

Pokažite vrstice pred in po tekmi prek Grepa

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.

SuperTuxKart za Linux
SuperTuxKart je odličen naslov, zasnovan tako, da vam brezplačno ponuja izkušnjo Mario Kart v vašem sistemu Linux. Igrati je precej zahtevno in zabavn...
Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...
0 A.D. Vadnica
Od številnih strateških iger tam 0 A.D. uspe izstopati kot izčrpen naslov in zelo globoka, taktična igra, čeprav je odprtokodna. Razvoj igre deluje ze...