From 8f263e859e0970ce87b77addc80dec28e8fc7e82 Mon Sep 17 00:00:00 2001 From: wukong Date: Tue, 5 Jun 2018 22:34:51 -0700 Subject: re-init --- diff.awk | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 diff.awk (limited to 'diff.awk') diff --git a/diff.awk b/diff.awk new file mode 100644 index 0000000..3923f8b --- /dev/null +++ b/diff.awk @@ -0,0 +1,37 @@ + +BEGIN { + sign = "[+-]?" + decimal = "[0-9]+[.]?[0-9]*" + fraction = "[.][0-9]*" + exponent = "([Ee]" sign "[0-9]+)?" + number = "^" sign "(" decimal "|" fraction ")" exponent "$" +} + +NR == 1 { + header_nf = NF + for (n=1; n<=NF; n++) { + if ($n !~ number) + header[n] = $n + else + header[n] = n + } +} + +NF != 0 { + printf("\n%s: %s\n", NR, $0) + if (NF > max_nf) + max_nf = NF + + ### iterate over columns + for (y=1; y<=max_nf; y++) { + if ($y ~ number) { + count[y] += 1 + data[y] = $y + sum[y] += $y + mean[y] = data[y] + diff[y] = data[y] - data_prev[y] + print header[y], data[y], sum[y], diff[y] + data_prev[y] = data[y] + } + } +} -- cgit v1.2.3