Re: Script para Visualizar la cola de correos filtrada
El Thu, 11 Sep 2008 17:45:51 +0200
"Gorka" <gorkalinux@yahoo.es> escribió:
> Tengo postfix y trato de crear un script que me devuelva el párrafo
> completo de cada mensaje, en la cola mailq, donde el remitente cumpla
> cierto patrón. Mi problema es que quiero el párrafo completo, es decir, las
> 3 líneas, no sólo la primera. No sé cómo hacerlo. Además luego los elimina,
> esto último es muy fácil.
>
> Me explico mejor, si tengo 30 mensajes encolados y dos proceden de
> mimial@yahoo.es, quiero visualizar sólo la información de estos dos y luego
> borrarlos. Así:
>
> #./script.sh mimail@yahoo.es
>
> 8F464D38003 20534 Thu Sep 11 17:18:39 mimail@yahoo.es
> (connect to correo.es[222.222.88.88]: Connection
> refused)
> p2@correo.es
>
> 035FFD38002 20546 Thu Sep 11 17:18:31 mimail@yahoo.es
> (connect to correo.es[222.222.88.88]: Connection
> refused)
> p1@correo.es
>
> Se borraron 2 mensajes.
>
>
> Mi código, como podéis ver no me visualiza la línea segunda y tercera.
> Contenido de script.sh:
>
> #!/bin/bash
>
> #Visualiza
> mailq | grep $1
>
> #Elimina
> mailq | grep $1 | awk '{ print $1 }' | tr -d '*!' | postsuper -d -
>
> ¿Cómo puedo conseguirlo? ¿A lo mejor alguien ha ideado algo en perl?
>
>
>
>
Tu problema es que también quieres mostrar las dos líneas anteriores a
la del patrón encontrado, ¿no?. Para ello puedes usar el parámtro -B
(before) con grep
#Visualiza
mailq | grep -B 2 $1
Hay bastante más ayuda en las páginas de manual.
Saludos.
--
Manolo Díaz
Reply to: