From 39d1486694b3baac5bfafe11f73e179530d6c109 Mon Sep 17 00:00:00 2001 From: wukong Date: Sat, 16 Jun 2018 21:06:25 -0700 Subject: added improvements from diff to diff1; increased number of digits printed in diff, diff1, lin_reg, lin_reg1, and lin_reg2; --- diff.awk | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'diff.awk') diff --git a/diff.awk b/diff.awk index fb93b57..03bc398 100644 --- a/diff.awk +++ b/diff.awk @@ -13,13 +13,18 @@ BEGIN { } NR == 1 { - ### orig columns + ### orig data columns for (n=1; n<=NF; n++) { - ($n !~ number) ? header[n] = $n : header[n] = "col" n + if ($n !~ number) { + header[n] = $n + dheader[n] = "d" $n + } + else { + header[n] = "col" n + dheader[n] = "dcol" n + } printf(header[n]) - ($n !~ number) ? dheader[n] = "d" $n : dheader[n] = "dcol" n - if (n <= NF) - printf(OFS) + printf(OFS) } ### diff columns @@ -34,12 +39,12 @@ NF { if (NF > nf_max) nf_max = NF - ### orig columns + ### data columns for (y=1; y<=nf_max; y++) { if ($y == header[y] || $y == dheader[y]) continue if ($y ~ number) - printf($y) + printf("%.12g", $y) else printf("") printf(OFS) @@ -47,15 +52,18 @@ NF { ### diff columns for (y=1; y<=nf_max; y++) { + if ($y == header[y] || $y == dheader[y]) + continue if ($y ~ number) { data[y] = $y (data_prev[y] ~ number) ? diff[y] = data[y] - data_prev[y] : diff[y] = "" data_prev[y] = data[y] - printf(diff[y]) - if (y < nf_max) - printf(OFS) + printf("%.12g", diff[y]) } - diff[y] = "" + else + diff[y] = "" + if (y < nf_max) + printf(OFS) } - printf("\n") + printf(ORS) } -- cgit v1.2.3