Re: awk et sed
messmate a écrit, samedi 26 février 2005, à 15:24 :
> On Sat, 26 Feb 2005 13:28:18 +0100
> Jacques L'helgoualc'h <lhh+nospam@free.fr> wrote:
> > (...)
> Avec ce script moi j'ai ça :
> [...]
> C'est pas la même sortie ??
Pas la même version de mailfilter (c'est pour ça que je te demandais des
extraits de /tes/ logs). Essaie avec ces instructions dans le script :
# puis on supprime le début
s/.* \[\(Size\|Applied\) *//
# on supprime la taille
/^limit/s:, *[0-9]\+/[0-9]\+::
à la place de la deuxième.
> Ce qui est interressant d'avoir, c'est ce qui a été 'deleted' avec le
> nom de l'expéditeur et un peu de 'subject'.
Ah, là ça ne servira sans doute pas à grand chose de faire des
statistiques dessus... Commence par un grep '^mailfilter: Deleted' avant
de raffiner.
> Car il pourrait par exemple m'arriver des mails que j'ai besoin d'avoir
> et qui ont été supprimé par mailfilter.
> Avec l'expéditeur affiché je peux demander un rappel à
> l'expéditeur et aussi adapter ma mailfilterrc avec un ALLOW.
D'après tes exemples, le format ressemble à
mailfilter: Deleted $FROM: $SUJET, $DATE. [$RAISON]
mais les séparateurs peuvent se retrouver dans les champs. Tu peux sans
doute avoir une statistique des domaines de From: avec
<"$LOG" sed -ne '/^mailfilter: Deleted/!d
s/^[^@]*@\([^ :>]\+\)>\?: .*/\1/p' | sort | uniq -c | sort -nr
s'il n'y a pas de @ parasites avant le bon. La variante
<"$LOG" sed -ne '/^mailfilter: Deleted/!d
s/^mailfilter: Deleted \([^@]\+[^@]\+@[^ :>]\+>\?\): .*/\1/p'
essaie d'extraire les $FROM complets ...
> Y'a pas une bonne doc sur le net concernant awk et sed ( pour un
> newbie)?
Pour vraiment le B.A-BA, http://www.shellunix.com/ en français. Sinon,
http://sed.sf.net/, mais ça devient vite illisible.
Le manuel de référence de Awk est disponible sur
http://www.gnu.org/software/gawk/manual/
mais il est plus complet que simple... gougueule introduction à Awk
donne plusieurs liens.
Pour ne pas être trop HS, il y a des exemples dans les paquets gawk,
mawk --- et même un original-awk pour les gou^Warchéologues.
--
Jacques L'helgoualc'h
Reply to: