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 las banderas "-A", "-B" y "-C" a lo largo de nuestra guía de tutoriales. Por lo tanto, debe realizar cada paso para comprender mejor. Asegúrate de tener Ubuntu 20.04 sistema Linux instalado.
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. 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 estos e intentaremos aplicar el comando grep en ellos. Abramos el archivo de texto "uno.txt ”primero usando el popular comando“ cat ”como se muestra a continuación:
$ gato uno.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 "nosotros" en el archivo de texto "uno.txt ”usando la instrucción grep. La salida muestra dos líneas del archivo de texto que tienen "nosotros" en ellas.
$ grep nosotros uno.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 "uno.txt "hemos estado haciendo coincidir la palabra" nosotros "mientras mostramos las 3 líneas antes como se muestra a continuación. La bandera "-B" significa "Antes". La salida 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.
$ grep -B 3 nosotros uno.TXT
Usemos la misma palabra clave "nosotros" 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.
$ grep -A 3 nosotros uno.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. Por lo tanto, hemos estado usando la palabra "puede" para hacer coincidir. Los números de línea son los mismos en este caso. Las 3 líneas después de la palabra coincidente "can" se han mostrado a continuación usando el comando grep.
$ grep -A 3 puede uno.TXT
Puede ver los programas de salida antes de las líneas de una palabra coincidente con 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 de ella.
$ grep -B 3 puede uno.TXT
Ejemplo 02: Uso de '-A' y '-B'
Tomemos otro archivo de texto, "dos.txt ", desde el directorio de inicio y mostrar su contenido usando el comando" cat "a continuación.
$ gato dos.TXT
Vamos a mostrar 5 líneas antes de la palabra "Most" del archivo "dos.txt ”usando el comando grep. La salida muestra 5 líneas antes de que la línea contenga una palabra específica.
$ grep -B 5 La mayoría de los dos.TXT
El comando grep muestra las 5 líneas después de la palabra "Most" del archivo de texto "dos.txt ”se ha proporcionado a continuación.
$ grep -A 5 La mayoría de dos.TXT
Cambiemos la palabra clave a buscar. Usaremos "de" como palabra clave para hacer coincidir esta vez. Muestre las 2 líneas antes de la palabra "de" del archivo de texto "dos.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 lo tanto, la salida contiene más de 2 líneas.
$ grep -B 2 de dos.TXT
Ahora se muestran las 2 líneas del archivo "dos.txt ”después de la línea que contiene la palabra clave“ of ”se puede hacer usando el siguiente comando. La salida vuelve a mostrar más de 2 líneas.
$ grep -A 2 de 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 "uno.txt ”usando el comando cat.
$ gato uno.TXT
Elegimos "sociedad" como una palabra clave para hacer 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" en ella. La salida muestra una línea antes de la línea de palabra específica y 2 líneas después.
$ grep -C 2 sociedad uno.TXT
Veamos el contenido del archivo "dos.txt ”usando el siguiente comando cat.
$ gato dos.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.
$ grep -C 2 poemas dos.TXT
Usemos una palabra clave más del archivo "dos.txt ”para que coincida. Estamos consumiendo "naturaleza" como palabra clave esta vez. Por lo tanto, pruebe el siguiente comando mientras usa "-C" como indicador con la palabra clave "naturaleza" del archivo "dos.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 aparece primero, tiene dos líneas antes y dos líneas después. Si bien el segundo coincide con la misma palabra clave, "naturaleza" tiene dos líneas antes, pero no hay líneas después porque está en la última línea del archivo.
$ grep -C 2 poemas 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.