grep

Vis linjer før og etter kamp via Grep

Vis linjer før og etter kamp via Grep

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.

Kamp for Wesnoth 1.1. 3.6 Utvikling utgitt
Kamp for Wesnoth 1.1. 3.6 utgitt i forrige måned, er den sjette utgivelsen i 1.1. 3.x-serien, og den leverer en rekke forbedringer, spesielt til bruke...
Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...