Afișați liniile înainte și după meci prin Grep

Show Lines Before After Match Via Grep



Grep a fost utilizat pe scară largă în sistemele Linux când lucrați la unele fișiere, căutați un anumit model și multe altele. De data aceasta, folosim comanda grep pentru a afișa liniile înainte și după cuvântul cheie potrivite utilizate într-un anumit fișier. În acest scop, vom folosi steagurile -A, -B și, -C în ghidul nostru tutorial. Deci, trebuie să efectuați fiecare pas pentru o mai bună înțelegere. Asigurați-vă că aveți instalat sistemul Linux 20.04 Linux.

În primul rând, trebuie să vă deschideți terminalul din linia de comandă Linux pentru a începe să lucrați la grep. În prezent vă aflați în directorul Acasă al sistemului Ubuntu imediat după ce terminalul din linia de comandă a fost deschis. Deci, încercați să listați toate fișierele și folderele din directorul principal al sistemului Linux folosind comanda ls de mai jos și veți obține toate. Puteți vedea, avem câteva fișiere text și câteva foldere listate în el.







eu sunt



Exemplul 01: Utilizarea „-A” și „-B”

Din fișierele text afișate mai sus, vom arunca o privire asupra unora dintre acestea și vom încerca să aplicăm comanda grep pe ele. Să deschidem mai întâi fișierul text one.txt folosind comanda populară pisică ca mai jos:



$pisicăone.txt





Mai întâi vom vedea câteva potriviri de cuvinte specifice în acest fișier text folosind comanda grep ca mai jos. Căutăm cuvântul we în fișierul text one.txt folosind instrucțiunile grep. Ieșirea arată două linii din fișierul text care le avem pe ele.

$prinderenoi one.txt



Deci, în acest exemplu, vom afișa liniile înainte și după potrivirea specifică a cuvântului în unele fișiere text. Așadar, folosind același fișier text one.txt, am coincis cu cuvântul we în timp ce afișăm cele 3 linii dinaintea acestuia ca mai jos. Steagul -B înseamnă Înainte. Ieșirea arată doar 2 linii înainte de linia specifică a cuvântului, deoarece fișierul nu are mai multe linii înainte de linia unui anumit cuvânt. Arată, de asemenea, acele rânduri cu acel cuvânt specific prezent în ele.

$prindere–B3noi one.txt

Să folosim același cuvânt cheie noi din acest fișier pentru a afișa cele 3 linii după linia care are cuvântul noi. Steagul -A prezintă După. Ieșirea arată din nou doar 2 linii, deoarece nu are mai multe linii în fișier.

$prindere-LA3noi one.txt

Deci, haideți să folosim un nou cuvânt cheie pentru a fi potrivite și să afișăm liniile sau rândurile înainte și după linia în care se află. Așa că am folosit cuvântul poate fi asortat. Numerele de linie sunt aceleași în acest caz. Cele 3 linii după cuvântul potrivit pot fi afișate mai jos folosind comanda grep.

$prindere-LA3se poate one.txt

Puteți vedea afișările de ieșire înainte ca liniile unui cuvânt potrivit să poată utiliza cuvântul cheie. În schimb, arată doar două linii înainte de linia cuvântului potrivit, deoarece nu mai există linii înaintea acestuia.

$prindere–B3se poate one.txt

Exemplul 02: Utilizarea „-A” și „-B”

Să luăm un alt fișier text, two.txt, din directorul principal și să afișăm conținutul acestuia folosind comanda cat de mai jos.

$pisicătwo.txt

Să afișăm 5 linii înainte de cuvântul Most din fișierul two.txt folosind comanda grep. Ieșirea arată 5 linii înainte ca linia să conțină un cuvânt specific.

$prindere–B5Cele mai multe two.txt

Comanda grep către arată cele 5 linii după cuvântul Cele mai multe din fișierul text two.txt a fost dat mai jos.

$prindere-LA5Cele mai multe two.txt

Să schimbăm cuvântul cheie care trebuie căutat. Vom folosi ca cuvânt cheie pentru a fi asortat de data aceasta. Afișați cele 2 linii înainte de cuvântul din fișierul text two.txt se poate face folosind comanda grep de mai jos. Ieșirea arată două linii pentru cuvântul cheie din, deoarece apare de două ori în fișier. Astfel, ieșirea conține mai mult de 2 linii.

$prindere–B2de doi.txt

Acum, afișarea celor 2 linii ale fișierului two.txt după linia care conține cuvântul cheie din se poate face folosind comanda de mai jos. Ieșirea afișează din nou mai mult de 2 linii.

$prindere-LA2de doi.txt

Exemplul 03: Utilizarea „-C”

Un alt steag, -C a fost folosit pentru a afișa liniile înainte și după cuvântul potrivit. Să afișăm conținutul fișierului one.txt folosind comanda cat.

$pisicăone.txt

Alegem societatea ca un cuvânt cheie care trebuie asociat. Comanda grep de mai jos va afișa cele 2 linii înainte și 2 linii după linia care conține cuvântul societate în ea. Ieșirea arată o linie înainte de linia specifică a cuvântului și 2 linii după aceasta.

$prindere–C2societatea one.txt

Să vedem conținutul fișierului two.txt folosind comanda cat de mai jos.

$pisicătwo.txt

În această ilustrație, folosim poezii ca cuvânt cheie pentru a se potrivi. Deci, executați comanda de mai jos pentru aceasta. Ieșirea arată două linii înainte și două linii după cuvântul potrivit.

$prindere–C2poezii doi.txt

Să folosim încă un cuvânt cheie din fișierul two.txt pentru a se potrivi. De această dată consumăm natura ca cuvânt cheie. Deci, încercați comanda de mai jos în timp ce utilizați -C ca semnalizator având natura cuvântului cheie din fișierul two.txt. De data aceasta, ieșirea are mai mult de două linii în ieșire. Deoarece fișierul conține cuvântul natură de mai multe ori, acesta este motivul din spatele acestuia. Cuvântul cheie natura, care este primul, are două rânduri înainte și două rânduri după el. În timp ce al doilea se potrivește cu același cuvânt cheie, natura are două rânduri înainte, dar nu există linii după acesta, deoarece se află la ultima linie a fișierului.

$prindere–C2poezii doi.txt

Concluzie

Am reușit să afișăm liniile înainte și după cuvântul specific în timp ce folosim instrucțiunea grep.