#!/usr/bin/gawk -f { if(match($0, /by dorothee/)) { from = "beermann"; } else if (match($0, /by helge/)) { from = "helge"; } else if(match($0, /by oe/)) { from = "oe"; } else { from = "other"; } # else match($0, /(200[3-6])-([01][0-9])-([0-3][0-9])/, dates); printf("%d %02d %02d %s\n", dates[1], dates[2], dates[3], from); }