#!/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
./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