Vis linjer før og efter kamp via Grep

Show Lines Before After Match Via Grep



Grep er blevet brugt meget i Linux -systemer, når der arbejdes med nogle filer, søger efter et bestemt mønster og mange flere. Denne gang bruger vi grep -kommandoen til at vise linjerne før og efter det matchede søgeord, der bruges i en bestemt fil. Til dette formål vil vi bruge -A, -B og, -C flag i hele vores vejledningsguide. Så du skal udføre hvert trin for bedre forståelse. Sørg for, at du har installeret Ubuntu 20.04 Linux -system.

For det første skal du åbne din Linux-kommandolinjeterminal for at begynde at arbejde på grep. Du er i øjeblikket i hjemmebiblioteket i dit Ubuntu-system, lige efter at kommandolinjeterminalen er blevet åbnet. Så prøv at liste alle filer og mapper i hjemmekataloget på dit Linux -system ved hjælp af nedenstående ls -kommando, og du får alt. Du kan se, vi har nogle tekstfiler og nogle mapper angivet i den.







ls



Eksempel 01: Brug af '-A' og '-B'

Fra de ovennævnte tekstfiler vil vi se på nogle af disse og prøve at anvende grep-kommandoen på dem. Lad os åbne tekstfilen one.txt først ved hjælp af den populære kat -kommando som nedenunder:



$katone.txt





Vi vil først se nogle specifikke ordmatcher i denne tekstfil ved hjælp af kommandoen grep som nedenfor. Vi søger efter ordet vi i tekstfilen one.txt ved hjælp af grep -instruktion. Outputtet viser to linjer fra tekstfilen, hvor vi har dem.

$grebvi one.txt



Så i dette eksempel viser vi linjerne før og efter det specifikke ordmatch i nogle tekstfiler. Så ved hjælp af den samme tekstfil one.txt har vi matchet ordet vi, mens vi viste de 3 linjer før det som nedenfor. Flag -B står for Før. Outputtet viser kun 2 linjer før den specifikke ordlinje, fordi filen ikke har flere linjer før linjen i et bestemt ord. Det viser også de linjer, der har det specifikke ord til stede i dem.

$greb–B3vi one.txt

Lad os bruge det samme søgeord vi fra denne fil til at vise de 3 linjer efter linjen, der har ordet vi. Flag -A præsenterer After. Outputtet viser igen kun 2 linjer, fordi det ikke har flere linjer i filen.

$greb-TIL3vi one.txt

Så lad os bruge et nyt søgeord, der skal matches, og vise linjer eller rækker før og efter linjen, det ligger i. Så vi har brugt ordet kan til at blive matchet. Linjenumrene er de samme i dette tilfælde. De 3 linjer efter det matchede ord kan have været vist herunder ved hjælp af kommandoen grep.

$greb-TIL3kan one.txt

Du kan se output viser før linjerne i et matchet ord ved hjælp af søgeordet kan. I modsætning hertil viser det kun to linjer før linjen i det matchede ord, fordi der ikke er flere linjer før det.

$greb–B3kan one.txt

Eksempel 02: Brug af '-A' og '-B'

Lad os tage en anden tekstfil, two.txt, fra hjemmemappen og vise dens indhold ved hjælp af kommandoen nedenfor.

$katto.txt

Lad os vise 5 linjer før ordet Most fra filen two.txt ved hjælp af kommandoen grep. Outputtet viser 5 linjer, før linjen indeholder et bestemt ord.

$greb–B5Mest to.txt

Grep -kommandoen til viser de 5 linjer efter ordet Most fra tekstfilen two.txt er givet nedenfor.

$greb-TIL5Mest to.txt

Lad os ændre det søgeord, der skal søges efter. Vi vil bruge det som et søgeord, der skal matches denne gang. Vis de 2 linjer før ordet fra fra tekstfilen two.txt kan udføres ved at bruge kommandoen grep nedenfor. Outputtet viser to linjer for søgeordet fordi det kommer to gange i filen. Således indeholder output mere end 2 linjer.

$greb–B2af to.txt

Nu viser de 2 linjer med fil two.txt efter den linje, der indeholder nøgleordet for, kan gøres ved hjælp af nedenstående kommando. Outputtet viser igen mere end 2 linjer.

$greb-TIL2af to.txt

Eksempel 03: Brug af '-C'

Et andet flag, -C er blevet brugt til at vise linjerne før og efter det matchede ord. Lad os vise indholdet af filen one.txt ved hjælp af kommandoen cat.

$katone.txt

Vi vælger samfundet som et nøgleord, der skal matches. Nedenstående grep -kommando viser de 2 linjer før og 2 linjer efter den linje, der indeholder ordet samfund i den. Outputtet viser en linje før den specifikke ordlinje og 2 linjer efter den.

$greb–C2samfund one.txt

Lad os se indholdet af filen two.txt ved hjælp af kommandoen nedenfor.

$katto.txt

I denne illustration bruger vi digte som et søgeord, der matcher. Så udfør nedenstående kommando for dette. Outputtet viser to linjer før og to linjer efter det matchede ord.

$greb–C2digte to.txt

Lad os bruge et søgeord mere fra filen two.txt, der skal matches. Vi indtager naturen som et nøgleord denne gang. Så prøv nedenstående kommando, mens du bruger -C som et flag med søgeordet natur fra filen two.txt. Denne gang har output mere end to linjer i output. Da filen indeholder ordet natur mere end én gang, er det årsagen bag. Søgeordet natur, der kommer først, har to linjer før og to linjer efter det. Mens det andet matchede det samme søgeord, har naturen to linjer før det, men der er ingen linjer efter det, fordi det er på den sidste linje i filen.

$greb–C2digte to.txt

Konklusion

Vi har succes med at vise linjerne før og efter det specifikke ord, mens vi bruger grep -instruktionen.