Grep har blitt brukt mye i Linux-systemer når du jobber med noen filer, søker etter noe spesifikt mønster og mange flere. Denne gangen bruker vi grep-kommandoen til å vise linjene før og etter det matchede nøkkelordet som brukes i en bestemt fil. For dette formålet vil vi bruke “-A”, “-B” og “-C” flagget gjennom hele veiledningsveiledningen. Så du må utføre hvert trinn for bedre forståelse. Forsikre deg om 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 til Ubuntu-systemet ditt rett etter at kommandolinjeterminalen er åpnet. Så prøv å liste opp alle filene og mappene i hjemmekatalogen til Linux-systemet ditt ved hjelp av 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 de ovennevnte tekstfilene vil vi se på noen av disse og prøve å bruke grep-kommandoen på dem. La oss åpne tekstfilen “en.txt ”først ved å bruke den populære“ cat ”-kommandoen som under:
$ katt en.tekst
Vi vil først se noen spesifikke ord samsvarer i denne tekstfilen ved hjelp av grep-kommandoen som nedenfor. Vi søker etter ordet "vi" i tekstfilen "en.txt ”ved hjelp av grep-instruksjon. Utgangen viser to linjer fra tekstfilen med "vi" i seg.
$ grep vi en.tekst
Så i dette eksemplet vil vi vise linjene før og etter det spesifikke ordmatchet i noen tekstfiler. Så ved å bruke den samme tekstfilen "en.txt ”vi har matchet ordet“ vi ”mens vi viser de tre linjene foran det som nedenfor. Flagget “-B” står for “Before”. Utgangen viser bare to linjer før den spesifikke ordlinjen fordi filen ikke har flere linjer før linjen til et bestemt ord. Det viser også de linjene som har det spesifikke ordet til stede.
$ grep -B 3 vi en.tekst
La oss bruke det samme nøkkelordet "we" fra denne filen for å vise de tre linjene etter linjen som har ordet "vi". Flagget “-A” presenterer “Etter”. Utgangen viser igjen bare to linjer fordi den ikke har flere linjer i filen.
$ grep -A 3 vi en.tekst
Så la oss bruke et nytt nøkkelord 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 tre linjene etter det matchede ordet “kan” har blitt vist nedenfor ved hjelp av kommandoen grep.
$ grep -A 3 kan en.tekst
Du kan se utdataene som vises før linjene i et samsvarende ord ved å bruke nøkkelordet "kan". Derimot viser det bare to linjer før linjen til det samsvarende ordet fordi det ikke er flere linjer før det.
$ grep -B 3 kan en.tekst
Eksempel 02: Bruk '-A' og '-B'
La oss ta en ny tekstfil, “to.txt, ”fra hjemmekatalogen og vise innholdet ved hjelp av kommandoen“ cat ”nedenfor.
$ katt to.tekst
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 -B 5 De fleste to.tekst
Grep-kommandoen til viser de fem linjene etter ordet "Most" fra tekstfilen "two.txt ”er gitt nedenfor.
$ grep -A 5 De fleste to.tekst
La oss endre nøkkelordet du skal søke etter. Vi vil bruke “av” som et nøkkelord som skal matches denne gangen. Vis de to linjene før ordet “av” fra tekstfilen “to.txt ”kan gjøres ved å bruke kommandoen grep nedenfor. Utgangen viser to linjer for nøkkelordet “av” fordi det kommer to ganger i filen. Dermed inneholder utgangen mer enn to linjer.
$ grep -B 2 av to.tekst
Viser nå de to linjene med fil “to.txt ”etter linjen som inneholder nøkkelordet“ av ”kan gjøres ved hjelp av kommandoen nedenfor. Utgangen viser igjen mer enn to linjer.
$ grep -A 2 av to.tekst
Eksempel 03: Bruke '-C'
Et annet flagg, “-C” har blitt brukt til å vise linjene før og etter ordet som samsvarer. La oss vise innholdet i filen “en.txt ”ved hjelp av kattkommandoen.
$ katt en.tekst
Vi velger “samfunn” som et nøkkelord som skal matches. Grep-kommandoen nedenfor viser de to linjene før og 2 linjene etter linjen som inneholder ordet "samfunn" i den. Utgangen viser en linje før den spesifikke ordlinjen og to linjer etter den.
$ grep -C 2 samfunn en.tekst
La oss se innholdet i filen “to.txt ”ved hjelp av kattkommandoen nedenfor.
$ katt to.tekst
I denne illustrasjonen bruker vi "dikt" som et nøkkelord for å matche. Så utfør kommandoen nedenfor for dette. Utgangen viser to linjer før og to linjer etter ordet som samsvarer.
$ grep -C 2 dikt to.tekst
La oss bruke ett nøkkelord til fra filen “to.txt ”som skal matches. Vi bruker «natur» som nøkkelord denne gangen. Så prøv kommandoen nedenfor mens du bruker “-C” som et flagg med nøkkelordet “natur” fra filen “to.tekst". Denne gangen har utgangen mer enn to linjer i utgangen. Siden filen inneholder ordet “natur” mer enn en gang, er det årsaken bak den. Nøkkelordet "natur", som kommer først, har to linjer før og to linjer etter det. Mens det andre samsvarte med det samme nøkkelordet, har "natur" to linjer før det, men det er ingen linjer etter det fordi det er på den siste linjen i filen.
$ grep -C 2 dikt to.tekst
Konklusjon
Vi lykkes med å vise linjene før og etter det spesifikke ordet mens vi bruker grep-instruksjonen.