Vis linjer før og etter kamp via Grep

Show Lines Before After Match Via Grep



Grep har blitt brukt mye i Linux -systemer når du jobber med noen filer, søker etter et bestemt mønster og mange flere. Denne gangen bruker vi kommandoen grep til å vise linjene før og etter det samsvarende søkeordet som brukes i en bestemt fil. For dette formålet bruker vi -A, -B og, -C -flagget gjennom veiledningsguiden vår. Så du må utføre hvert trinn for bedre forståelse. Sørg for at du har Ubuntu 20.04 Linux -system installert.

For det første må du åpne Linux-kommandolinjeterminalen for å begynne å jobbe med grep. Du er for øyeblikket i hjemmekatalogen for Ubuntu-systemet ditt rett etter at kommandolinjeterminalen er åpnet. Så prøv å liste alle filene og mappene i hjemmekatalogen til Linux -systemet ditt ved å bruke kommandoen ls nedenfor, så får du alt. Du kan se, vi har noen tekstfiler og noen mapper oppført i den.







ls



Eksempel 01: Bruke ‘-A’ og ‘-B’

Fra tekstfilene ovenfor, vil vi se på noen av disse og prøve å bruke grep-kommandoen på dem. La oss åpne tekstfilen one.txt først ved å bruke den populære kattekommandoen nedenfor:



$kattone.txt





Vi vil først se noen spesifikke ordmatcher i denne tekstfilen ved hjelp av grep -kommandoen som nedenfor. Vi søker etter ordet vi i tekstfilen one.txt ved hjelp av grep -instruksjon. Utgangen viser to linjer fra tekstfilen med vi i dem.

$grepvi one.txt



Så i dette eksemplet vil vi vise linjene før og etter det spesifikke ordmatchet i noen tekstfiler. Så ved å bruke den samme tekstfilen one.txt har vi matchet ordet vi mens vi viste de 3 linjene før det som nedenfor. Flagget -B står for Før. Utgangen viser bare 2 linjer før den spesifikke ordlinjen fordi filen ikke har flere linjer før linjen til et bestemt ord. Det viser også linjene som har det spesifikke ordet tilstede i dem.

$grep–B3vi one.txt

La oss bruke det samme søkeordet vi fra denne filen til å vise de tre linjene etter linjen som har ordet vi. Flagget -A presenterer After. Utgangen viser igjen bare to linjer fordi den ikke har flere linjer i filen.

$grep-TIL3vi one.txt

Så la oss bruke et nytt søkeord som skal matches og vise linjene eller radene før og etter linjen det ligger i. Så vi har brukt ordet kan for å bli matchet. Linjenumrene er de samme i dette tilfellet. De 3 linjene etter det samsvarende ordet kan ha blitt vist nedenfor ved hjelp av grep -kommandoen.

$grep-TIL3kan one.txt

Du kan se utdataene før linjene i et matchet ord ved å bruke søkeordet kan. I kontrast viser den bare to linjer før linjen i det samsvarende ordet fordi det ikke er flere linjer før det.

$grep–B3kan one.txt

Eksempel 02: Bruke ‘-A’ og ‘-B’

La oss ta en annen tekstfil, two.txt, fra hjemmekatalogen og vise innholdet ved hjelp av kommandoen nedenfor.

$kattto.txt

La oss vise 5 linjer før ordet Most fra filen two.txt ved hjelp av grep -kommandoen. Utgangen viser 5 linjer før linjen inneholder et bestemt ord.

$grep–B5De fleste to.txt

Grep -kommandoen til viser de 5 linjene etter ordet Most fra tekstfilen two.txt er gitt nedenfor.

$grep-TIL5De fleste to.txt

La oss endre søkeordet som skal søkes. Vi vil bruke det som et søkeord som skal matches denne gangen. Vis de to linjene før ordet fra tekstfilen two.txt kan gjøres ved å bruke grep -kommandoen nedenfor. Utgangen viser to linjer for søkeordet fordi det kommer to ganger i filen. Dermed inneholder utgangen mer enn 2 linjer.

$grep–B2av to.txt

Vis nå de 2 fillinjene two.txt etter linjen som inneholder nøkkelordet til, kan gjøres ved hjelp av kommandoen nedenfor. Utgangen viser igjen mer enn 2 linjer.

$grep-TIL2av to.txt

Eksempel 03: Bruke ‘-C’

Et annet flagg, -C har blitt brukt til å vise linjene før og etter det samsvarende ordet. La oss vise innholdet i filen one.txt ved hjelp av cat -kommandoen.

$kattone.txt

Vi velger samfunnet som et nøkkelord som skal matches. Kommandoen under grep viser de 2 linjene før og 2 linjer etter linjen som inneholder ordet samfunn i den. Utgangen viser en linje før den spesifikke ordlinjen og 2 linjer etter den.

$grep–C2samfunn en.txt

La oss se innholdet i filen two.txt ved hjelp av kommandoen cat nedenfor.

$kattto.txt

I denne illustrasjonen bruker vi dikt som et søkeord for å matche. Så utfør kommandoen nedenfor for dette. Utgangen viser to linjer før og to linjer etter det samsvarende ordet.

$grep–C2dikt to.txt

La oss bruke enda et søkeord fra filen two.txt som skal matches. Vi bruker naturen som et nøkkelord denne gangen. Så prøv kommandoen nedenfor mens du bruker -C som et flagg med søkeordet nature fra filen two.txt. Denne gangen har utgangen mer enn to linjer i utgangen. Siden filen inneholder ordet natur mer enn én gang, er det årsaken bak den. Søkeordet natur, som kommer først, har to linjer før og to linjer etter det. Mens det andre matchet det samme søkeordet, har naturen to linjer før det, men det er ingen linjer etter det fordi det er på den siste linjen i filen.

$grep–C2dikt to.txt

Konklusjon

Vi lykkes med å vise linjene før og etter det spesifikke ordet mens vi bruker grep -instruksjonen.