awk-idõ

hello

egy statisztikát kellene készítenem egy ilyen fájlból
user1;login;2009-03-26;10:30
user2;login;2009-03-26;11:00
user2;logoff;2009-03-26;12:20
user1;logoff;2009-03-26;12:00

valahogy így hogy hány alkalommal és mennyi ideig voltak bent
user1: 1 alkalom,1 óra 30 perc
user2: 1 alkalom,1 óra 20 perc

az hogy hány alkalommal az már meg van, de azt hogy mennyi ideig azt nem tudtam megcsinálni tudnátok segíteni?

Hozzászólások

>>Itt mar belinkeltem egy prog.hu-s topicot, ahogy elmagyarazzak a megoldast. Mit nem ertesz?!

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

a baj még az hogy nincs a kollégiumban, net, csak az egyetemi oldalakat lehet elérni, viszont mivel ssh-n keresztül a ravaszabbak tudtak netezni ezért sebesség korlátot csináltak, így amikor elakarnám menteni vgay megnyitni vagy bármit csinálni a kabinetes szerveren a fájllal akkor meghal, a net miatt , erre azért lenne szükség mert ott kell futni és nincs is linuxom hogy azon csinálgassam itthon szal be kéne jelentkezenm de az meg dög lassú


BEGIN { FS = ";" }
/^.+;login/ {
    felhasznalok[$1]++;
    split($3,a,"-");split($4,b,":");
    lin[$1]=lin[$1]+mktime(a[1]" "a[2]" "a[3]" "b[1]" "b[2]" "b[3]"00");
}
/^.+;logoff/ {
    split($3,a,"-");split($4,b,":");
    lout[$1]=lout[$1]+mktime(a[1]" "a[2]" "a[3]" "b[1]" "b[2]" "b[3]"00");
}
END {
    for (i in felhasznalok) {
        t=lout[i]-lin[i];
        m = int(t/3600);
        s = int(t % 3600/60);
        print i": "felhasznalok[i]" alkalom,"m" ora "s" perc";
    }
}

osszedobtam egy kis scriptet ezen elindulhatsz

bemásoltam a begionbe az mktime fgv-t ami az oldalon van. azt dobta, hogy

awk: ./h749006.awk:3: BEGIN blocks must have an action part
awk: ./h749006.awk:9: function mktime(a, b, i, j, t, diff)
awk: ./h749006.awk:9: ^ syntax error
awk: ./h749006.awk:9: fatal: 6 is invalid as number of arguments for mktime

#2 BEGIN
#3 {
#4 FS = ";"
#5
#6 # mktime --- convert a date into seconds,
#7 # compensate for time zone
#8
#9 function mktime(str, res1, res2, a, b, i, j, t, diff)

tipp?