Mostrar líneas antes y después del partido a través de Grep

Show Lines Before After Match Via Grep



Grep se ha utilizado ampliamente en sistemas Linux cuando se trabaja en algunos archivos, se busca algún patrón específico y muchos más. Esta vez, estamos usando el comando grep para mostrar las líneas antes y después de la palabra clave coincidente utilizada en algún archivo específico. Para este propósito, usaremos los indicadores -A, -B y -C a lo largo de nuestra guía de tutoriales. Por lo tanto, debe realizar cada paso para una mejor comprensión. Asegúrese de tener instalado el sistema Linux Ubuntu 20.04.

En primer lugar, debe abrir su terminal de línea de comandos de Linux para comenzar a trabajar en grep. Actualmente se encuentra en el directorio de inicio de su sistema Ubuntu justo después de que se haya abierto la terminal de línea de comandos. Por lo tanto, intente enumerar todos los archivos y carpetas en el directorio de inicio de su sistema Linux usando el comando ls a continuación, y obtendrá todos. Como puede ver, tenemos algunos archivos de texto y algunas carpetas enumeradas en él.







ls



Ejemplo 01: uso de '-A' y '-B'

De los archivos de texto que se muestran arriba, veremos algunos de ellos e intentaremos aplicarles el comando grep. Primero abramos el archivo de texto one.txt usando el popular comando cat como se muestra a continuación:



$gatoone.txt





Primero veremos algunas coincidencias de palabras específicas en este archivo de texto usando el comando grep como se muestra a continuación. Estamos buscando la palabra we en el archivo de texto one.txt usando la instrucción grep. La salida muestra dos líneas del archivo de texto que tienen nosotros en ellas.

$sujeciónnosotros one.txt



Entonces, en este ejemplo, mostraremos las líneas antes y después de la coincidencia de palabras específicas en algunos archivos de texto. Entonces, usando el mismo archivo de texto one.txt, hemos estado haciendo coincidir la palabra we mientras mostramos las 3 líneas anteriores como se muestra a continuación. La bandera -B significa Antes. El resultado muestra solo 2 líneas antes de la línea de la palabra específica porque el archivo no tiene más líneas antes de la línea de una palabra específica. También muestra aquellas líneas que tienen esa palabra específica presente en ellas.

$sujeción–B3nosotros one.txt

Usemos la misma palabra clave que de este archivo para mostrar las 3 líneas después de la línea que tienen la palabra nosotros. La bandera -A presenta Después. La salida nuevamente muestra solo 2 líneas porque no tiene más líneas en el archivo.

$sujeción–A3nosotros one.txt

Entonces, usemos una nueva palabra clave para hacer coincidir y mostrar las líneas o filas antes y después de la línea en la que se encuentra. De modo que hemos estado usando la palabra puede coincidir. Los números de línea son los mismos en este caso. Las 3 líneas después de la palabra coincidente se pueden mostrar a continuación usando el comando grep.

$sujeción–A3puede uno.txt

Puede ver los programas de salida antes de las líneas de una palabra coincidente utilizando la palabra clave can. Por el contrario, muestra solo dos líneas antes de la línea de la palabra coincidente porque no hay más líneas antes.

$sujeción–B3puede uno.txt

Ejemplo 02: uso de '-A' y '-B'

Tomemos otro archivo de texto, two.txt, del directorio de inicio y visualicemos su contenido usando el siguiente comando cat.

$gatotwo.txt

Vamos a mostrar 5 líneas antes de la palabra Most del archivo two.txt usando el comando grep. La salida muestra 5 líneas antes de que la línea contenga una palabra específica.

$sujeción–B5La mayoría de two.txt

El comando grep muestra las 5 líneas después de la palabra Most del archivo de texto two.txt que se muestra a continuación.

$sujeción–A5La mayoría de two.txt

Cambiemos la palabra clave que se buscará. Usaremos de como palabra clave para hacer coincidir esta vez. Mostrar las 2 líneas antes de la palabra de del archivo de texto two.txt se puede hacer usando el siguiente comando grep. La salida muestra dos líneas para la palabra clave de porque aparece dos veces en el archivo. Por tanto, la salida contiene más de 2 líneas.

$sujeción–B2de dos.txt

Ahora se pueden mostrar las 2 líneas del archivo two.txt después de la línea que contiene la palabra clave de mediante el siguiente comando. La salida vuelve a mostrar más de 2 líneas.

$sujeción–A2de dos.txt

Ejemplo 03: uso de '-C'

Se ha utilizado otra bandera, -C para mostrar las líneas antes y después de la palabra coincidente. Vamos a mostrar el contenido del archivo one.txt usando el comando cat.

$gatoone.txt

Elegimos la sociedad como palabra clave con la que coincidir. El siguiente comando grep mostrará las 2 líneas antes y 2 líneas después de la línea que contiene la palabra sociedad. La salida muestra una línea antes de la línea de palabra específica y 2 líneas después.

$sujeción–C2sociedad uno.txt

Veamos el contenido del archivo two.txt usando el siguiente comando cat.

$gatotwo.txt

En esta ilustración, usamos poemas como palabra clave para hacer coincidir. Entonces, ejecute el siguiente comando para esto. La salida muestra dos líneas antes y dos líneas después de la palabra coincidente.

$sujeción–C2poemas dos.txt

Usemos una palabra clave más del archivo two.txt para hacer coincidir. Estamos consumiendo la naturaleza como palabra clave esta vez. Entonces, intente el siguiente comando mientras usa -C como un indicador que tiene la palabra clave naturaleza del archivo two.txt. Esta vez, la salida tiene más de dos líneas en la salida. Como el archivo contiene la palabra naturaleza más de una vez, ese es el motivo. La palabra clave naturaleza, que viene primero, tiene dos líneas antes y dos líneas después. Si bien el segundo coincide con la misma palabra clave, la naturaleza tiene dos líneas antes, pero no hay líneas después porque está en la última línea del archivo.

$sujeción–C2poemas dos.txt

Conclusión

Tenemos éxito en mostrar las líneas antes y después de la palabra específica mientras usamos la instrucción grep.