summaryrefslogtreecommitdiff
path: root/sum1.awk
diff options
context:
space:
mode:
Diffstat (limited to 'sum1.awk')
-rw-r--r--sum1.awk43
1 files changed, 0 insertions, 43 deletions
diff --git a/sum1.awk b/sum1.awk
deleted file mode 100644
index 9266789..0000000
--- a/sum1.awk
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/awk -f
-
-### sum1.awk, print column sums
-# input: rows of numbers
-# output: sum of each column
-# missing entries are treated as zeros
-
-
-function isnum(n) {
- sign = "[+-]?"
- decimal = "[0-9]+[.]?[0-9]*"
- fraction = "[.][0-9]+"
- exponent = "([Ee]" sign "[0-9]+)?"
- number = "^" sign "(" decimal "|" fraction ")" exponent "$"
- return n ~ number
-}
-
-
-BEGIN {
- OFS = FS
-}
-
-
-NR == 1 {
- for (i=1; i<=NF; i++)
- isnum($i) ? header[i] = "col" i : header[i] = $i
-}
-
-
-NF > 0 {
- (NF > nf_max) ? nf_max = NF : nf_max = nf_max
- for (i=1; i<=NF; i++)
- sum[i] += $i
-}
-
-
-END {
- for (i=1; i<=nf_max; i++) {
- printf(OFMT, sum[i])
- printf((i < nf_max) ? OFS : ORS)
- }
-}
-