scripts/hores.awk
author llbatlle@comanegra
Fri, 04 Mar 2011 11:06:11 +0100
changeset 19 39a78ed9bf03
child 21 5dababf1cb7d
permissions -rwxr-xr-x
Adding a simple script I use to calculate worked hours per day
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     1
#!/home/llbatlle/.nix-profile/bin/awk -f
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     2
#
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     3
# Entrada: tt -t
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     4
#
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     5
# Distingeix 'fora' i 'dinar' com a coses que no són de la feina
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     6
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     7
BEGIN {
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     8
    fora="fora";
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
     9
    ignora="dinar";
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    10
    FS=" "
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    11
}
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    12
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    13
{
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    14
    daystring = substr($3, 2);
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    15
    work = $2;
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    16
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    17
    if (work == fora)
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    18
    {
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    19
        hores = int(accumtime / 3600);
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    20
        minuts = int((accumtime  - hores*3600) / 60);
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    21
        segons = int(accumtime  - hores*3600 - minuts*60);
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    22
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    23
        plegant = substr($4, 1, length($4)-1);
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    24
        printf "%s: %02i:%02i:%02i (plegant a les %s)\n",
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    25
            daystring, hores, minuts, segons, plegant;
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    26
        accumtime = 0;
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    27
    }
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    28
    else
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    29
    {
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    30
        if (work != ignora)
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    31
        {
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    32
            split($1, time, ":");
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    33
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    34
            accumtime += time[1]*3600 + time[2]*60 + time[3];
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    35
        }
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    36
    }
39a78ed9bf03 Adding a simple script I use to calculate worked hours per day
llbatlle@comanegra
parents:
diff changeset
    37
}