diff options
Diffstat (limited to '')
| -rw-r--r-- | sum4.awk | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -15,17 +15,19 @@ function isnum(n) { } -BEGIN { OFS = FS } +BEGIN { + OFS = FS +} + NR == 1 { - nf_max = NF for (i=1; i<=NF; i++) isnum($i) ? header[i] = "col" i : header[i] = $i } -{ - if (NF > nf_max) - nf_max = NF + +NF > 0 { + (NF > nf_max) ? nf_max = NF : nf_max = nf_max for (i=1; i<=NF; i++) { if ($i == header[i]) continue @@ -36,6 +38,7 @@ NR == 1 { } } + END { for (i=1; i<=nf_max; i++) { printf((header[i]) ? header[i] OFS : OFS) |
