summaryrefslogtreecommitdiff
path: root/diff.awk
diff options
context:
space:
mode:
authorwukong <wukong@longaeva>2018-06-16 21:06:25 -0700
committerwukong <wukong@longaeva>2018-06-16 21:06:25 -0700
commit39d1486694b3baac5bfafe11f73e179530d6c109 (patch)
tree5d44a81df33a27af133e0c3a47f414e305e9d97d /diff.awk
parentce5e0a8f088e19e8ebe9a27d8efd4207363791af (diff)
added improvements from diff to diff1; increased number of digits printed in diff, diff1, lin_reg, lin_reg1, and lin_reg2;
Diffstat (limited to 'diff.awk')
-rw-r--r--diff.awk32
1 files changed, 20 insertions, 12 deletions
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)
}