Mostra le righe prima e dopo la corrispondenza tramite Grep

Show Lines Before After Match Via Grep



Grep è stato ampiamente utilizzato nei sistemi Linux quando si lavora su alcuni file, alla ricerca di modelli specifici e molti altri. Questa volta, stiamo usando il comando grep per visualizzare le righe prima e dopo la parola chiave corrispondente utilizzata in alcuni file specifici. A questo scopo, utilizzeremo i flag -A, -B e -C in tutta la nostra guida tutorial. Quindi, devi eseguire ogni passaggio per una migliore comprensione. Assicurati di avere installato il sistema Linux Ubuntu 20.04.

Innanzitutto, devi aprire il terminale della riga di comando di Linux per iniziare a lavorare su grep. Sei attualmente nella directory Home del tuo sistema Ubuntu subito dopo l'apertura del terminale della riga di comando. Quindi, prova a elencare tutti i file e le cartelle nella directory principale del tuo sistema Linux usando il comando ls sottostante e otterrai tutto. Come puoi vedere, abbiamo alcuni file di testo e alcune cartelle elencate al suo interno.







ls



Esempio 01: utilizzo di '-A' e '-B'

Dai file di testo sopra mostrati, daremo un'occhiata ad alcuni di questi e proveremo ad applicare il comando grep su di essi. Apriamo prima il file di testo one.txt usando il popolare comando cat come sotto:



$gattoone.txt





Vedremo prima alcune corrispondenze di parole specifiche in questo file di testo usando il comando grep come di seguito. Stiamo cercando la parola we nel file di testo one.txt usando l'istruzione grep. L'output mostra due righe del file di testo che contengono we.

$presanoi uno.txt



Quindi, in questo esempio, mostreremo le righe prima e dopo la corrispondenza di parole specifica in alcuni file di testo. Quindi, utilizzando lo stesso file di testo one.txt, abbiamo abbinato la parola we visualizzando le 3 righe precedenti come di seguito. La bandiera -B sta per Prima. L'output mostra solo 2 righe prima della riga di parola specifica perché il file non ha più righe prima della riga di una parola specifica. Mostra anche quelle righe in cui è presente quella parola specifica.

$presa-B3noi uno.txt

Usiamo la stessa parola chiave we di questo file per visualizzare le 3 righe dopo la riga che contengono la parola we. La bandiera -A presenta Dopo. L'output mostra di nuovo solo 2 righe perché non ha più righe nel file.

$presa-A3noi uno.txt

Quindi, usiamo una nuova parola chiave da abbinare e mostriamo le righe o le righe prima e dopo la riga in cui si trova. Quindi abbiamo usato la parola può essere abbinata. I numeri di riga sono gli stessi in questo caso. Le 3 righe dopo la parola abbinata possono essere state visualizzate di seguito utilizzando il comando grep.

$presa-A3can one.txt

Puoi vedere gli spettacoli di output prima delle righe di una parola abbinata usando la parola chiave can. Al contrario, mostra solo due righe prima della riga della parola corrispondente perché non ci sono più righe prima di essa.

$presa-B3can one.txt

Esempio 02: utilizzo di '-A' e '-B'

Prendiamo un altro file di testo, two.txt, dalla directory home e visualizziamo il suo contenuto utilizzando il comando cat sottostante.

$gattodue.txt

Mostriamo 5 righe prima della parola Most dal file two.txt usando il comando grep. L'output mostra 5 righe prima che la riga contenga una parola specifica.

$presa-B5La maggior parte dei due.txt

Il comando grep per mostra le 5 righe dopo la parola Most dal file di testo two.txt è stata data di seguito.

$presa-A5La maggior parte dei due.txt

Cambiamo la parola chiave da cercare. Useremo of come parola chiave da abbinare questa volta. Visualizzare le 2 righe prima della parola di dal file di testo two.txt può essere eseguito utilizzando il comando grep sottostante. L'output mostra due righe per la parola chiave di perché viene fornita due volte nel file. Quindi l'output contiene più di 2 righe.

$presa-B2di due.txt

Ora la visualizzazione delle 2 righe del file two.txt dopo la riga che contiene la parola chiave di può essere eseguita utilizzando il comando seguente. L'output mostra di nuovo più di 2 righe.

$presa-A2di due.txt

Esempio 03: utilizzo di '-C'

Un altro flag, -C è stato utilizzato per visualizzare le righe prima e dopo la parola abbinata. Mostriamo il contenuto del file one.txt usando il comando cat.

$gattoone.txt

Scegliamo società come parola chiave da abbinare. Il comando grep sottostante visualizzerà le 2 righe prima e le 2 righe dopo la riga che contiene la parola società. L'output mostra una riga prima della riga di parola specifica e 2 righe dopo di essa.

$presa-C2società uno.txt

Vediamo il contenuto del file two.txt usando il seguente comando cat.

$gattodue.txt

In questa illustrazione, stiamo usando le poesie come parola chiave da abbinare. Quindi, esegui il comando seguente per questo. L'output mostra due righe prima e due righe dopo la parola corrispondente.

$presa-C2poesie due.txt

Usiamo un'altra parola chiave dal file two.txt da abbinare. Questa volta stiamo consumando la natura come parola chiave. Quindi, prova il comando seguente mentre usi -C come flag con la parola chiave natura dal file two.txt. Questa volta, l'output ha più di due righe nell'output. Poiché il file contiene la parola natura più di una volta, questa è la ragione alla base. La parola chiave natura, che viene prima, ha due righe prima e due righe dopo. Mentre la seconda corrisponde alla stessa parola chiave, la natura ha due righe prima di essa, ma non ci sono righe dopo di essa perché si trova nell'ultima riga del file.

$presa-C2poesie due.txt

Conclusione

Riusciamo a visualizzare le righe prima e dopo la parola specifica durante l'utilizzo dell'istruzione grep.