Toon regels voor en na de wedstrijd via Grep

Show Lines Before After Match Via Grep



Grep is veel gebruikt in Linux-systemen bij het werken aan sommige bestanden, het zoeken naar een specifiek patroon en nog veel meer. Deze keer gebruiken we het grep-commando om de regels voor en na het overeenkomende trefwoord weer te geven dat in een specifiek bestand wordt gebruikt. Voor dit doel gebruiken we de vlag -A, -B en -C in onze handleiding. U moet dus elke stap uitvoeren voor een beter begrip. Zorg ervoor dat u het Ubuntu 20.04 Linux-systeem hebt geïnstalleerd.

Ten eerste moet je je Linux-opdrachtregelterminal openen om aan grep te gaan werken. U bevindt zich momenteel in de Home-directory van uw Ubuntu-systeem direct nadat de opdrachtregelterminal is geopend. Dus, probeer alle bestanden en mappen in de homedirectory van je Linux-systeem op te sommen met behulp van de onderstaande ls-opdracht, en je zult alles krijgen. U kunt zien dat we enkele tekstbestanden en enkele mappen erin hebben vermeld.







ls



Voorbeeld 01: '-A' en '-B' gebruiken

Van de hierboven getoonde tekstbestanden zullen we enkele hiervan bekijken en proberen het grep-commando erop toe te passen. Laten we eerst het tekstbestand one.txt openen met het populaire cat-commando zoals hieronder:



$kateen.txt





We zullen eerst enkele specifieke woordovereenkomsten in dit tekstbestand zien met behulp van de grep-opdracht zoals hieronder. We zoeken naar het woord we in het tekstbestand one.txt met behulp van grep-instructie. De uitvoer toont twee regels uit het tekstbestand met wij erin.

$greepwij one.txt



In dit voorbeeld tonen we dus de regels voor en na de specifieke woordovereenkomst in sommige tekstbestanden. Dus met hetzelfde tekstbestand one.txt hebben we het woord we aangepast terwijl we de 3 regels ervoor weergeven, zoals hieronder. De vlag -B staat voor Before. De uitvoer toont slechts 2 regels voor de specifieke woordregel omdat het bestand niet meer regels heeft voor de regel van een specifiek woord. Het toont ook die regels waarin dat specifieke woord aanwezig is.

$greep-B3wij one.txt

Laten we hetzelfde trefwoord we uit dit bestand gebruiken om de 3 regels weer te geven na de regel met het woord we. De vlag -A presenteert After. De uitvoer toont opnieuw slechts 2 regels omdat het niet meer regels in het bestand heeft.

$greep-TOT3wij one.txt

Laten we dus een nieuw zoekwoord gebruiken om te matchen en de regels of rijen weergeven voor en na de regel waarin het ligt. Dus we hebben het woord can gebruikt om te matchen. De regelnummers zijn in dit geval hetzelfde. De 3 regels na het overeenkomende woord kunnen hieronder zijn weergegeven met het grep-commando.

$greep-TOT3kan one.txt

U kunt de uitvoer zien vóór de regels van een overeenkomend woord met het trefwoord can. Het toont daarentegen slechts twee regels vóór de regel van het overeenkomende woord, omdat er geen regels meer voor staan.

$greep-B3kan one.txt

Voorbeeld 02: '-A' en '-B' gebruiken

Laten we een ander tekstbestand, two.txt, uit de homedirectory nemen en de inhoud ervan weergeven met behulp van de onderstaande cat-opdracht.

$kattwee.txt

Laten we 5 regels voor het woord Most uit het bestand two.txt weergeven met de opdracht grep. De uitvoer toont 5 regels voordat de regel een specifiek woord bevat.

$greep-B5De meeste twee.txt

Het grep-commando om de 5 regels na het woord Most uit het tekstbestand two.txt te laten zien, is hieronder gegeven.

$greep-TOT5De meeste twee.txt

Laten we het trefwoord wijzigen waarop moet worden gezocht. We zullen deze keer als zoekwoord gebruiken om te matchen. De 2 regels voor het woord van uit het tekstbestand two.txt weergeven kan met het onderstaande grep-commando. De uitvoer toont twee regels voor het sleutelwoord van omdat het twee keer in het bestand voorkomt. De uitvoer bevat dus meer dan 2 regels.

$greep-B2van two.txt

Het weergeven van de 2 regels van het bestand two.txt na de regel die het trefwoord van bevat, kan worden gedaan met behulp van de onderstaande opdracht. De uitvoer geeft weer meer dan 2 regels weer.

$greep-TOT2van two.txt

Voorbeeld 03: '-C' gebruiken

Een andere vlag, -C is gebruikt om de regels voor en na het overeenkomende woord weer te geven. Laten we de inhoud van het bestand one.txt weergeven met de opdracht cat.

$kateen.txt

We kiezen de samenleving als een te matchen sleutelwoord. De onderstaande grep-opdracht geeft de 2 regels voor en 2 regels na de regel weer die het woord samenleving bevat. De uitvoer toont één regel voor de specifieke woordregel en 2 regels erna.

$greep-C2samenleving one.txt

Laten we de inhoud van bestand two.txt bekijken met behulp van de onderstaande cat-opdracht.

$kattwee.txt

In deze illustratie gebruiken we gedichten als zoekwoord. Voer hiervoor het onderstaande commando uit. De uitvoer toont twee regels voor en twee regels na het overeenkomende woord.

$greep-C2gedichten twee.txt

Laten we nog een trefwoord uit het bestand two.txt gebruiken om te matchen. We consumeren deze keer de natuur als sleutelwoord. Dus, probeer het onderstaande commando terwijl je -C gebruikt als een vlag met het trefwoord nature uit het bestand two.txt. Deze keer heeft de uitvoer meer dan twee regels in de uitvoer. Omdat het bestand meer dan eens het woord natuur bevat, is dat de reden erachter. Het sleutelwoord nature, dat eerst komt, heeft twee regels ervoor en twee regels erna. Terwijl de tweede overeenkwam met hetzelfde trefwoord, heeft de natuur twee regels ervoor, maar er staan ​​geen regels achter omdat het op de laatste regel van het bestand staat.

$greep-C2gedichten twee.txt

Conclusie

We zijn erin geslaagd de regels voor en na het specifieke woord weer te geven tijdens het gebruik van de grep-instructie.