Mostra les línies abans i després del partit mitjançant Grep

Show Lines Before After Match Via Grep



Grep s'ha utilitzat àmpliament en sistemes Linux quan es treballa en alguns fitxers, es busca algun patró específic i molts més. Aquesta vegada, utilitzem l'ordre grep per mostrar les línies abans i després de la paraula clau coincident utilitzada en algun fitxer específic. Amb aquest propòsit, utilitzarem els senyals -A, -B i, -C a tota la nostra guia tutorial. Per tant, heu de realitzar cada pas per a una millor comprensió. Assegureu-vos que teniu instal·lat el sistema Ubuntu 20.04 Linux.

En primer lloc, heu d'obrir el terminal de línia d'ordres de Linux per començar a treballar a grep. Actualment esteu al directori inicial del vostre sistema Ubuntu just després d'obrir el terminal de línia d'ordres. Per tant, intenteu llistar tots els fitxers i carpetes del directori inicial del vostre sistema Linux mitjançant l'ordre ls següent, i obtindreu tot. Podeu veure, hi tenim alguns fitxers de text i algunes carpetes.







ls



Exemple 01: utilització de '-A' i '-B'

Dels fitxers de text mostrats anteriorment, farem una ullada a alguns d’aquests i intentarem aplicar-los l’ordre grep. Obrim primer el fitxer de text one.txt fent servir l’ordre popular cat com es mostra a sota:



$gatone.txt





Primer veurem coincidències de paraules específiques en aquest fitxer de text mitjançant l'ordre grep que es mostra a continuació. Cerquem la paraula we al fitxer de text one.txt mitjançant instruccions grep. La sortida mostra dues línies del fitxer de text que tenim a nosaltres.

$adherèncianosaltres one.txt



Per tant, en aquest exemple, mostrarem les línies abans i després de la coincidència específica de la paraula en alguns fitxers de text. Així doncs, utilitzant el mateix fitxer de text one.txt, hem coincidit amb la paraula we mentre mostrem les 3 línies anteriors com es mostra a continuació. La bandera -B significa Abans. La sortida mostra només 2 línies abans de la línia de la paraula específica perquè el fitxer no té més línies abans de la línia d’una paraula específica. També mostra aquelles línies que contenen aquesta paraula específica.

$adherència-B3nosaltres one.txt

Utilitzem la mateixa paraula clau que tenim d’aquest fitxer per mostrar les 3 línies després de la línia que tenen la paraula nosaltres. La bandera -A presenta After. La sortida torna a mostrar només 2 línies perquè no té més línies al fitxer.

$adherència-A3nosaltres one.txt

Per tant, fem servir una paraula clau nova per comparar-la i mostrem les línies o files abans i després de la línia en què es troba. Per tant, hem utilitzat la paraula can per fer coincidir. Els números de línia són els mateixos en aquest cas. Les 3 línies després de la paraula coincident es poden mostrar a continuació mitjançant l'ordre grep.

$adherència-A3can one.txt

Podeu veure els resultats de sortida abans que les línies d'una paraula coincident utilitzant la paraula clau puguin. En canvi, només mostra dues línies abans de la línia de la paraula coincident perquè no hi ha més línies abans.

$adherència-B3can one.txt

Exemple 02: utilitzar '-A' i '-B'

Agafem un altre fitxer de text, two.txt, del directori inicial i mostrem-ne el contingut mitjançant l’ordre cat següent.

$gattwo.txt

Visualitzem 5 línies abans de la paraula Most del fitxer two.txt mitjançant l'ordre grep. La sortida mostra 5 línies abans que la línia contingui una paraula específica.

$adherència-B5La majoria de dos.txt

A continuació, l'ordre grep mostra les 5 línies després de la paraula Most del fitxer de text two.txt.

$adherència-A5La majoria de dos.txt

Canviem la paraula clau que voleu cercar. En aquesta ocasió, farem servir com a paraula clau. Mostra les 2 línies abans que es pugui fer la paraula de des del fitxer de text two.txt mitjançant l'ordre grep següent. La sortida mostra dues línies per a la paraula clau de perquè apareix dues vegades al fitxer. Així, la sortida conté més de 2 línies.

$adherència-B2de dos.txt

Ara es mostren les 2 línies del fitxer two.txt després de la línia que conté la paraula clau de mitjançant l'ordre següent. La sortida torna a mostrar més de 2 línies.

$adherència-A2de dos.txt

Exemple 03: utilitzar '-C'

S'ha utilitzat una altra bandera, -C per mostrar les línies abans i després de la paraula coincident. Visualitzem el contingut del fitxer one.txt mitjançant l’ordre cat.

$gatone.txt

Escollim la societat com a paraula clau que s’ha de fer coincidir. L'ordre grep següent mostrarà les 2 línies anteriors i les 2 línies després de la línia que conté la paraula societat. La sortida mostra una línia abans que la paraula específica i 2 línies després.

$adherència-C2societat one.txt

Vegem el contingut del fitxer two.txt mitjançant l’ordre cat següent.

$gattwo.txt

En aquesta il·lustració, fem servir poemes com a paraula clau per coincidir. Per tant, executeu l'ordre següent per a això. La sortida mostra dues línies abans i dues línies després de la paraula coincident.

$adherència-C2poemes two.txt

Utilitzem una paraula clau més del fitxer two.txt per coincidir. Aquesta vegada estem consumint natura com a paraula clau. Per tant, proveu l'ordre següent mentre utilitzeu -C com a senyalador amb la paraula clau naturalesa del fitxer two.txt. Aquesta vegada, la sortida té més de dues línies a la sortida. Com que el fitxer conté la paraula naturalesa més d’una vegada, aquest és el motiu que hi ha darrere. La paraula clau naturalesa, que és la primera, té dues línies abans i dues línies després. Tot i que la segona coincideix amb la mateixa paraula clau, la natura té dues línies abans, però no hi ha línies després, perquè es troba a l'última línia del fitxer.

$adherència-C2poemes two.txt

Conclusió

Tenim èxit en mostrar les línies abans i després de la paraula específica mentre utilitzem la instrucció grep.