shellscript: Hilfe gesucht (sed, awk, mailfilter)
Hallo,
ich habe mir gerade mailfilter eingerichtet und nutze in der ersten Testphase
das in der mailfilter-FAQ angegebene Shellscript von Roland Smith, um zu
sehen, welche Filterregeln greifen:
---------------------------------------------------------------------
#!/bin/sh
# -*- shell-script -*-
# Id: spamsort,v 1.3 2002/03/14 18:47:39 rsmith Exp rsmith
LOG=/var/log/mailfilter
cat $LOG |awk '/Deleted/ {print $NF}'|sed 's/]//g'| sort|uniq -c|sort -r
---------------------------------------------------------------------
Der Output sieht dann etwa so aus:
------------------------------------------
2 '<>^(To|Cc):.*st\.mase@web\.de'
1 '^Subject:.*WIN MONEY'
------------------------------------------
Ich kenne mich mit sed und awk nicht aus, denke aber, dass das Script die
immer folgende Zeile der Datei /var/log/mailfilter auswertet:
-----------------------------------------------------------------------------------------
mailfilter: Deleted "Mr. Spam" <mr.spam@web.de>: Subject der mail, Sat, 22 Feb
2003 18:36:41 +0100. [Applied filter: '<>^(To|Cc):.*st\.mase@web\.de']
-----------------------------------------------------------------------------------------
Das funktionierende Script möchte ich in folgender Weise erweitern: Es sollen
nach der Statistik die e-mail Adressen mit gegriffenem Filter untereinander
aufgelistet werden. Der Output sollte dann also so aussehen:
---------------------------------------------------------
2 '<>^(To|Cc):.*st\.mase@web\.de'
1 '^Subject:.*WIN MONEY'
mr.spam@web.de '<>^(To|Cc):.*st\.mase@web\.de'
mrs.spam@gmx.de '<>^(To|Cc):.*st\.mase@web\.de'
irgendwer@irgendwo '^Subject:.*WIN MONEY'
---------------------------------------------------------
So könnte ich schnell prüfen, ob vielleicht doch ein von mir falsch
definierter Filter eine mail gelöscht hat, die ich eigentlich gern gelesen
hätte. Ich könnte mir vorstellen, dass dazu nur eine weitere Zeile in das
Script eingefügt werden muss. Etwa:
-------------------------------------------------------------------------
#!/bin/sh
# -*- shell-script -*-
LOG=/var/log/mailfilter
cat $LOG |awk '/Deleted/ {print $NF}'|sed 's/]//g'| sort|uniq -c|sort -r
cat $LOG |awk '/Deleted/ {print ........
---------------------------------------------------------------------------
Wer kann mir da weiterhelfen?
Stephan
--
Stephan Maseizik <st.mase@web.de> (gpg-key on request)
Reply to: