Zobraziť riadky pred a po zápase prostredníctvom Grepu

Show Lines Before After Match Via Grep



Grep bol v systémoch Linux široko používaný pri práci na niektorých súboroch, hľadaní konkrétneho vzoru a mnohých ďalších. Dnes používame príkaz grep na zobrazenie riadkov pred a za zhodným kľúčovým slovom použitým v určitom konkrétnom súbore. Na tento účel budeme v celej našej príručke používať príznak -A, -B a -C. Pre lepšie porozumenie preto musíte vykonať každý krok. Uistite sa, že máte nainštalovaný systém Linux Ubuntu 20.04.

Najprv musíte otvoriť terminál príkazového riadka Linuxu a začať pracovať na grep. Aktuálne sa nachádzate v domovskom adresári vášho systému Ubuntu bezprostredne po otvorení terminálu príkazového riadka. Skúste teda pomocou nižšie uvedeného príkazu ls vypsať všetky súbory a priečinky v domácom adresári vášho systému Linux a všetko získate. Vidíte, máme v ňom uvedené niektoré textové súbory a niektoré priečinky.







ls



Príklad 01: Použitie „-A“ a „-B“

Z vyššie uvedených textových súborov sa pozrieme na niektoré z nich a pokúsime sa na ne použiť príkaz grep. Otvorme najskôr textový súbor one.txt pomocou obľúbeného príkazu mačka, ako je uvedené nižšie:



$katone.txt





V tomto textovom súbore najskôr uvidíme niektoré konkrétne zhody slov pomocou príkazu grep, ako je uvedené nižšie. Hľadáme slovo my v textovom súbore one.txt pomocou inštrukcie grep. Výstup ukazuje dva riadky z textového súboru, v ktorých sme my.

$uchopeniemy one.txt



V tomto prípade teda v niektorých textových súboroch ukážeme riadky pred a po konkrétnej zhode slov. Takže pomocou rovnakého textového súboru one.txt sme priradili slovo my a zároveň zobrazili 3 riadky pred ním, ako je uvedené nižšie. Vlajka -B znamená Predtým. Výstup zobrazuje iba 2 riadky pred riadkom konkrétneho slova, pretože súbor nemá pred riadkom konkrétneho slova viac riadkov. Tiež to ukazuje tie riadky, v ktorých je prítomné konkrétne slovo.

$uchopenie–B3my one.txt

Použime rovnaké kľúčové slovo ako v tomto súbore na zobrazenie troch riadkov za riadkom, ktoré obsahujú slovo my. Vlajka -A predstavuje After. Výstup opäť zobrazuje iba 2 riadky, pretože v súbore nemá viac riadkov.

$uchopenie-TO3my one.txt

Použime teda nové kľúčové slovo na priradenie a zobrazme riadky alebo riadky pred a za riadkom, v ktorom sa nachádza. Preto sme použili slovo môže byť zhodné. Čísla riadkov sú v tomto prípade rovnaké. 3 riadky po zhodnom slove bolo možné zobraziť nižšie pomocou príkazu grep.

$uchopenie-TO3môže jeden.txt

Výstup môžete vidieť pred riadkami zodpovedajúceho slova pomocou kľúčového slova can. Naproti tomu zobrazuje iba dva riadky pred riadkom zodpovedajúceho slova, pretože pred ním už nie sú žiadne riadky.

$uchopenie–B3môže jeden.txt

Príklad 02: Použitie „-A“ a „-B“

Vezmeme si z domovského adresára ďalší textový súbor two.txt a zobrazíme jeho obsah pomocou nižšie uvedeného príkazu mačka.

$kattwo.txt

Zobrazme 5 riadkov pred slovom Most zo súboru two.txt pomocou príkazu grep. Výstup zobrazuje 5 riadkov pred tým, ako riadok obsahuje konkrétne slovo.

$uchopenie–B5Väčšina dvoch.txt

Príkaz grep, ktorý zobrazí 5 riadkov za slovom Most z textového súboru two.txt, je uvedený nižšie.

$uchopenie-TO5Väčšina dvoch.txt

Zmeňme hľadané kľúčové slovo. Tento termín použijeme ako kľúčové slovo. Zobrazte 2 riadky predtým, ako sa slovo z textového súboru two.txt dá vykonať pomocou nižšie uvedeného príkazu grep. Výstup zobrazuje dva riadky pre kľúčové slovo, pretože sa v súbore nachádzajú dvakrát. Výstup teda obsahuje viac ako 2 riadky.

$uchopenie–B2z dvoch.txt

Teraz zobrazujúce 2 riadky súboru two.txt za riadkom obsahujúcim kľúčové slovo pre je možné vykonať pomocou nižšie uvedeného príkazu. Výstup opäť zobrazí viac ako 2 riadky.

$uchopenie-TO2z dvoch.txt

Príklad 03: Použitie „-C“

Ďalší príznak -C bol použitý na zobrazenie riadkov pred a za zhodným slovom. Poďme zobraziť obsah súboru one.txt pomocou príkazu cat.

$katone.txt

Spoločnosť sme vybrali ako kľúčové slovo, ktoré sa má zhodovať. Nasledujúci príkaz grep zobrazí 2 riadky pred a 2 riadky za riadkom, ktorý obsahuje slovo spoločnosť. Výstup zobrazuje jeden riadok pred konkrétnym riadkom slova a 2 riadky za ním.

$uchopenie–C2spoločnosť one.txt

Pozrime sa na obsah súboru two.txt pomocou nižšie uvedeného príkazu cat.

$kattwo.txt

Na tomto obrázku používame básne ako kľúčové slovo na priradenie. Vykonajte preto nasledujúci príkaz. Výstup zobrazuje dva riadky pred a dva riadky za priradeným slovom.

$uchopenie–C2básne dva.txt

Na priradenie použime ešte jedno kľúčové slovo zo súboru two.txt. Tentoraz konzumujeme prírodu ako kľúčové slovo. Skúste teda použiť nasledujúci príkaz a ako príznak použiť -C s kľúčovým slovom príroda zo súboru two.txt. Tentoraz má výstup na výstupe viac ako dva riadky. Pretože súbor obsahuje slovo príroda viac ako raz, je to dôvod. Kľúčové slovo príroda, ktoré je na prvom mieste, má dva riadky pred a dva riadky za ním. Zatiaľ čo druhé zodpovedalo rovnakému kľúčovému slovu, príroda má pred sebou dva riadky, ale nie sú za ním žiadne riadky, pretože sú v poslednom riadku súboru.

$uchopenie–C2básne dva.txt

Záver

Darí sa nám zobrazovať riadky pred a za konkrétnym slovom pri použití inštrukcie grep.