Categorías
General

grep en tiempo real

Combinando tail y grep podemos conseguir interesantes resultados. En primer lugar, vamos a escribir este simple script bash:

#!/bin/bash
[ $# -lt 2 ] && echo "$0 file "pattern"" && exit 0
tail -f $1|while read line; do echo $line|egrep --color "$2"; done

Lo guardaremos como flowgrep, le daremos permisos de ejecución:

chmod +x flowgrep

La sintaxis es muy sencilla, solo ./flowgrep . Monitorearemos un archivo log creciente buscando números:

./flowgrep event.log [0-9]+

El resultado de esto serán lineas conteniendo al menos un número -resaltado en rojo- de un dígito. Para finalizar el script basta con presionar Ctrl + C

Resultados de ejemplo:

123 es un buen número

El 9 de Julio fue hace poco.

Siento sus 39 grados en este momento.

^C

Nota: si el criterio contiene espacio(s) se deberá utilizar doble comilla (”) para delimitarlo, por ejemplo:

./flowgrep /var/log/messages «Too many login failures»

Ricochen via UbuntuLife

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *