On Sat, Mar 18, 2000 at 11:33:34AM +0100, Dirk Huebner wrote:
> Hi all, 
> 
> this is no mutt-specific question, but I'm sure so can give me a
> hint here. 
> 
> I would like to examine my existing mail and create a statistic
> about "mails from user per day"
> 
> For example: Search for "dirk.g.huebner" in ~/Mail/lists/xxx 
> 
> and create the following output. 
> 
> Day         Total
> 01.03.2000:   5
> 02.03.2000:   3
> 05.03.2000:   6
> ...
> 
> Can s.o. point me to an existing script/recipe for that? Haven't found 
> anything...

I'd use something like this:

#!/usr/local/bin/perl -n

BEGIN{
    use Date::Parse;
    use POSIX;
};

chomp;

if ($hdr){
    /^Date:\s+(.*)/ && do {$date=$1;};
    /^From:\s+(.*)/ && do {$from=$1;};
    /^$/ && do{$hdr=0;$HoH{int(str2time($date)/3600/24)}{$from}++;};
}else{
    /^From / && do {$hdr=1; undef $from,$date;};
}

END{
    foreach $family ( sort {$a <=> $b} keys %HoH ) {
        print strftime("%d.%m.%Y: {\n",gmtime($family*60*60*24));
        for $role ( sort {$HoH{$family}{$a} <=> $HoH{$family}{$b} }
                keys %{ $HoH{$family} } ) {
            printf "%3d %s\n",$HoH{$family}{$role},$role;
        }
        print "}\n";
    }
}

which reads a Mailinglist-Folder on stdin, and outputs like this:

17.03.2000: {
  1 Terje Elde <[EMAIL PROTECTED]>
  1 "Danny O'Brien" <[EMAIL PROTECTED]>
  1 David DeSimone <[EMAIL PROTECTED]>
  1 Thomas Roessler <[EMAIL PROTECTED]>
  2 David T-G <[EMAIL PROTECTED]>
  2 Charles Curley <[EMAIL PROTECTED]>
  2 Adahma <[EMAIL PROTECTED]>
  3 Jason Helfman <[EMAIL PROTECTED]>
}
18.03.2000: {
  1 David T-G <[EMAIL PROTECTED]>
  1 Daniel Gerber <[EMAIL PROTECTED]>
  1 Dirk Huebner <[EMAIL PROTECTED]>
  1 Shao Zhang <[EMAIL PROTECTED]>
  1 Daniel Burrows <[EMAIL PROTECTED]>
  1 Lars Hecking <[EMAIL PROTECTED]>
}

CU,
    Sec
-- 
The attached bug will fix that. 
                -- Byrial Jensen <[EMAIL PROTECTED]> on mutt-dev/21.7.98

Reply via email to