Re: awk et sed
messmate a écrit, vendredi 25 février 2005, à 20:44 :
[...]
> >> cat $LOG |awk '/Deleted/ {print $NF}'|sed 's/]//g'| \
> >> sed -e 's/^.*[/][0-9]*$/MAXSIZE_DENY exceeded/' | \
> >> sort|uniq -c|sort -r
[...]
> Ben oui, je mérite une claque !
C'est vendredi, tu es gracié.
> Voici :
> grep -m 42 '^mailfilter: Deleted' ~/logs/mailfilter.log
> mailfilter: Deleted MICROSOFT EMAIL/INTERNET INTERNATIONAL LOTTERY .
> <microsoftlottery@netscape.net>: YOU WON IN OUR 2005 INTERNATIONAL EMAIL
> LOTTERY PROGRAMS., . [Applied filter: '^(From|FROM):.*(Microsoft|MS
> Email Delivery System|Inet Email|Internet Message|Inet Mail Service|MS
> Internet|Net Delivery Service|MS Mail System|internet email delivery|MS
> Network Delivery|ms network system|MS SecurityServices|Inet Mail Storage
> System)']
>
> Et l'ouput de spam-stat:
> ./spam-stat
> 1 System)'
Un échantillon solitaire, c'est un peu maigre ;)
> C'est tout simplement que j'avais pas de 'Deleted' dans la log.
> Faudra que j'élabore un peu plus ou revoi mon système de filtrage.
Déjà, le awk '/.../{print $NF}' ne va pas, il y a des espaces dans ton
intitulé de filtre. Remplace ton pipe par
<"$LOG" sed -ne \
'/^mailfilter: Delete/s/.*\[Applied filter: \(.*\)\] *$/\1/p' | \
sort|uniq -c|sort -nr
sur un log plus giboyeux...
Tu as peut-être aussi un autre type de rejets à compter (MAXSIZE ?).
à+,
--
Jacques L'helgoualc'h
Reply to: