summaryrefslogtreecommitdiff
path: root/sum2.awk
blob: 4fcf3b6fcdb8dd2db1c95be911b08997c5de53d4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/awk -f

### sum2.awk, print column sums
# check that each line has the same number of fields as line one


BEGIN {
    OFS = FS
}


NR == 1 {
    for (i=1; i<=NF; i++)
        isnum($i) ? header[i] = "col" i : header[i] = $i
}


NF > 0 {
    (NF > nf_max) ? nf_max = NF : nf_max = nf_max
    for (i=1; i<=NF; i++)
        sum[i] += $i
}


END {
    for (i=1; i<=nf_max; i++)
        printf(OFMT "%s", sum[i], i < nf_max ? OFS : ORS)
}