Ejemplos del comando grep en Linux

A veces los usuarios se enfrentan a la necesidad de buscar cierta información dentro de algunos archivos. A menudo, los documentos de configuración u otros datos voluminosos contienen un gran número de líneas, por lo que no se pueden buscar manualmente los datos necesarios. En este caso, acude en su ayuda uno de los comandos integrados en los sistemas operativos Linux, que le permitirá buscar cadenas en cuestión de segundos.

Uso del comando grep en Linux

En cuanto a las diferencias entre las distribuciones de Linux, en este caso no influyen, ya que el comando que te interesa grep está disponible por defecto en la mayoría de las construcciones y se aplica exactamente de la misma manera. Hoy queremos hablar no sólo de la acción de greppero también desglosar los argumentos básicos, lo que puede simplificar considerablemente el procedimiento de búsqueda.

Lea también: Buscar archivos en Linux

Trabajos preparatorios

Todas las acciones posteriores se harán a través de la consola estándar, también permite abrir archivos sólo especificando la ruta completa a ellos o si “Terminal”. lanzado desde el directorio requerido. Puede averiguar la carpeta principal del archivo y navegar hasta ella en la consola de la siguiente manera:

  1. Inicie el gestor de archivos y navegue hasta la carpeta deseada.
  2. Haga clic con el botón derecho en el archivo deseado y seleccione “Propiedades”..
  3. En la ficha. “Básico”. Comprueba la línea “Carpeta de los padres”..
  4. Ahora corre “Terminal”. mediante un método conveniente, por ejemplo, a través de un menú o pulsando una combinación de teclas Ctrl + Alt + T.
  5. Aquí, navegue al directorio mediante el comando cd /home/user/folderdonde usuario – nombre de usuario, y carpeta – nombre de la carpeta.

Utilice el comando cat + название файлаsi quiere ver el contenido completo. Puede encontrar instrucciones detalladas sobre cómo utilizar este comando en nuestro otro artículo en el siguiente enlace.

Leer más: Ejemplos del comando cat en Linux

Siguiendo los pasos anteriores, puede utilizar grepmientras está en el directorio correcto, sin especificar la ruta completa del archivo.

Búsqueda de contenidos estándar

Antes de pasar a ver todos los argumentos disponibles, es importante tener en cuenta también la búsqueda de contenido estándar. Será útil cuando quiera encontrar una coincidencia de valor simple y mostrar todas las cadenas coincidentes.

  1. En la línea de comandos, escriba grep word testfiledonde palabra – la información que busca, y archivo de prueba – nombre del archivo. Al buscar desde fuera de la carpeta, introduzca la ruta completa, por ejemplo /home/user/folder/filename. Después de introducir el comando, pulse la tecla Entre en.
  2. Sólo queda familiarizarse con las opciones disponibles. Se mostrarán las filas completas y los valores clave se resaltarán en rojo.
  3. Es importante tener en cuenta también el caso de las letras, ya que la codificación de Linux no está optimizada para buscar sin tener en cuenta los caracteres grandes o pequeños. Si quiere evitar la detección de casos, escriba grep -i "word" testfile.
  4. Como puede ver, en la siguiente captura de pantalla, el resultado ha cambiado y se ha añadido otra línea nueva.

Búsqueda con captura de cadenas

A veces, los usuarios no sólo necesitan encontrar una coincidencia exacta en las cadenas, sino que también necesitan saber la información que viene después de ellas, como cuando se informa de un error concreto. Entonces la solución correcta es aplicar atributos. Escriba en la consola grep -A3 "word" testfilepara incluir también en el resultado las tres líneas siguientes a la coincidencia. Puedes escribir -A4entonces se capturarán cuatro líneas, no hay ninguna restricción.

Si en lugar de -A se aplica el argumento -B + количество строкEl resultado mostrará los datos hasta el punto de entrada.

Argumento a su vez, captura las líneas alrededor de la palabra clave.

A continuación puede ver ejemplos de la asignación de los argumentos anteriores. Tenga en cuenta que es obligatorio distinguir entre mayúsculas y minúsculas y poner comillas dobles.

grep -B3 "word" testfile
grep -C3 "word" testfile

Búsqueda de palabras clave al principio y al final de las cadenas

La necesidad de determinar la palabra clave que está al principio o al final de una línea surge con mayor frecuencia cuando se trabaja con archivos de configuración, en los que cada línea es responsable de un único parámetro. Para ver la ocurrencia exacta al principio debes escribir grep "^word" testfile. Firma ^ es exactamente el responsable de aplicar esta opción.

La búsqueda de contenido al final de las cadenas sigue más o menos el mismo principio, sólo que hay que añadir un signo entre comillas $y el comando se verá así: grep "word$" testfile.

Buscando números.

Al buscar los valores deseados, el usuario no siempre tiene información sobre la palabra exacta presente en la cadena. El procedimiento de búsqueda puede entonces realizarse a través de números, lo que a veces simplifica considerablemente la tarea. Sólo es necesario utilizar el comando en forma de grep "[0-7]" testfiledonde “[0-7]” – rango de valores, y archivo de prueba – el nombre del archivo a escanear.

Análisis de todos los archivos del directorio

El escaneo de todos los objetos de una misma carpeta se denomina recursivo. El usuario sólo necesita aplicar un argumento, que analizará todos los archivos de la carpeta y mostrará las líneas correspondientes y su ubicación. Habrá que introducir grep -r "word" /home/user/folderdonde /home/usuario/carpeta – La ruta del directorio que se va a escanear.

La ubicación de almacenamiento del archivo se mostrará en azul, y si desea obtener cadenas sin esta información, asigne otro argumento para obtener el comando así grep -h -r "word" + путь к папке.

Búsqueda precisa de palabras

Al principio de este artículo, ya hablamos de una sopa de letras normal. Sin embargo, este método mostrará combinaciones adicionales en los resultados. Por ejemplo, se encuentra la palabra Usuariopero el comando también mostrará al usuario123, ContraseñaUsuario y otras coincidencias, si las hay. Para evitar este resultado, asigne el argumento -w (grep -w "word" + имя файла или его расположение).

Esta opción también se realiza cuando se necesita buscar varias palabras clave exactas a la vez. En este caso, introduzca egrep -w 'word1|word2' testifile. Tenga en cuenta que en este caso a grep se añade una letra ey las comillas son todas simples.

Buscar cadenas sin una palabra específica

La utilidad considerada no sólo sabe cómo encontrar palabras en los archivos, sino también cómo dar salida a las cadenas que carecen de un valor definido por el usuario. A continuación, antes de introducir el valor de la clave y el archivo se añade -v. Gracias a esto, sólo verá los datos relevantes al activar el comando.

Sintaxis grep ha recogido algunos argumentos más que se pueden describir brevemente:

  • -I – mostrar sólo los nombres de archivos que coincidan con el criterio de búsqueda;
  • -s – desactivar las notificaciones de los errores encontrados;
  • -n – mostrar el número de línea en el archivo;
  • -b – mostrar el número de bloque antes de la línea.

Nada le impide aplicar varios argumentos a un mismo hallazgo, sólo tiene que introducirlos separados por un espacio, recordando distinguir entre mayúsculas y minúsculas.

Hoy vamos a ver más de cerca el comando grepdisponible en las distribuciones de Linux. Es una de las herramientas estándar y más utilizadas. Puede leer sobre otras herramientas populares y su sintaxis en nuestro artículo separado en el siguiente enlace.

Lea también: Comandos de uso frecuente en la “Terminal” de Linux

Nos alegramos de que hayamos podido ayudarle con su problema.

Describa lo que no le ha funcionado.
Nuestros especialistas tratarán de responder con la mayor rapidez posible.

¿Le ha ayudado este artículo?