diff options
Diffstat (limited to 'diff1.awk')
| -rw-r--r-- | diff1.awk | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/diff1.awk b/diff1.awk deleted file mode 100644 index a6bf6ec..0000000 --- a/diff1.awk +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/awk -f - -### diff1.awk -# print numerical diff along columns - - -BEGIN { - OFS = FS - sign = "[+-]?" - decimal = "[0-9]+[.]?[0-9]*" - fraction = "[.][0-9]*" - exponent = "([Ee]" sign "[0-9]+)?" - number = "^" sign "(" decimal "|" fraction ")" exponent "$" -} - - -# column headers -NR == 1 { - # orig data columns - for (n=1; n<=NF; n++) { - if ($n !~ number) { - header[n] = $n - dheader[n] = "d" $n - } - else { - header[n] = "col" n - dheader[n] = "dcol" n - } - printf(dheader[n]) - printf(n < NF ? OFS : ORS) - } -} - - -NF > 0 { - (NF > nf_max) ? nf_max = NF : nf_max = nf_max - - # data columns - for (n=1; n<=nf_max; n++) { - if ($n == header[n] || $n == dheader[n]) - continue - if ($n ~ number) { - data[n] = $n - if (data_prev[n] ~ number) - diff[n] = data[n] - data_prev[n] - else - diff[n] = "" - data_prev[n] = data[n] - } - printf(diff[n]) - printf(n < nf_max ? OFS : ORS) - } -} - |
