El 29/11/18 a las 2:39, Rick Gutierrez escribió:
Hola lista , tengo un script que me saca los intentos fallidos de mis
cuentas de correo , este script lo paso a un txt , y de ahi necesito
sacar a otro txt que el ip que cumpla con 8 intentos fallidos o mas se
escriba en ese ultimo txt .

el formato o la salida de los intentos fallidos es el siguiente.

  [8] logins from IP  132.245.51.221 []
Failed [   8] :  using pop  [   8]

[   3] logins from IP  152.231.32.255 []
Failed [   3] :  using pop  [   3]

he intentando con grep , pero sin resultados.

alguien que me de una ayuda de bash ;)

Es bastante sencillo, sólo tines que extraer el número de veces y la ip, el resto lo despreciamos.
Por ejemplo el fichero prueba.txt contiene:

[8] logins from IP 132.245.51.221 []
[3] logins from IP 152.231.32.255 []
[8] logins from IP 152.231.32.254 []
[3] logins from IP 152.231.32.253 []
[11] logins from IP 152.231.32.252 []
[7] logins from IP 152.231.32.251 []
[3] logins from IP 152.231.32.250 []

La extracción con sed que obtiene el número de veces y la ip y se lanza a un blucle que lee esos dos valores, luego sólo un condicional:

sed -n -e 's/\[\([0-9]\+\)\] logins from IP \([0-9.]\+\) .*/\1 \2/p' prueba.txt | while read n ip; do
[ $n -ge 8 ] && echo $ip
done

la salida es:

132.245.51.221
152.231.32.254
152.231.32.252

--
Eduardo

Responder a