#!/usr/bin/gawk -f BEGIN { header = 0; lines = 0; months["Jan"] = 1; months["Feb"] = 2; months["Mar"] = 3; months["Apr"] = 4; months["May"] = 5; months["Jun"] = 6; months["Jul"] = 7; months["Aug"] = 8; months["Sep"] = 9; months["Oct"] = 10; months["Nov"] = 11; months["Dec"] = 12; } # BEGIN /^From / { printf("%d %02d %02d %s %d\n", year, month, day, from, lines); header = 1; from = ""; day = ""; month = ""; year = ""; lines = 0; } /^From: / { if (from == "") { if(match($0, /[bB][eE][eE][rR][mM][aA][nN][nN]/)) { from = "beermann"; } else if (match($0, /[hH][eE][lL][gG][eE]/)) { from = "helge"; } else if(match($0, /oe at/) || match($0, /[cC][sS][lL][iI]/)) { from = "oe"; } else { from = "other"; } # else } # if } /^Date: / { if (day == "") { year = $6; month = months[$3]; day = $4; }; } /^$/ { header = 0; } { if (!header) lines++; }