[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: