ref: a288969bf6c2d73cb8e77ece798a6009ffb57d99
parent: 34c2bbec85008430bd4858c2b12ce0dbbc47acb0
author: qwx <qwx@sciops.net>
date: Thu Sep 25 16:46:37 EDT 2025
test: add missing tt.* files
--- /dev/null
+++ b/test/tt.01
@@ -1,0 +1,1 @@
+{ print }--- /dev/null
+++ b/test/tt.02
@@ -1,0 +1,1 @@
+{ print NR, NF, $0 }--- /dev/null
+++ b/test/tt.02a
@@ -1,0 +1,1 @@
+{ $2 = length($2); print }--- /dev/null
+++ b/test/tt.03
@@ -1,0 +1,2 @@
+{ s += length($2) }+END { print s }--- /dev/null
+++ b/test/tt.03a
@@ -1,0 +1,2 @@
+{ s += $3 }+END { print s }--- /dev/null
+++ b/test/tt.04
@@ -1,0 +1,3 @@
+{ for (i = NF; i > 0; i--)+ printf "%s ", $i
+}
--- /dev/null
+++ b/test/tt.05
@@ -1,0 +1,6 @@
+{+ s = ""
+ for (i = NF; i > 0; i--)
+ s = s " " $i
+ print s
+}
--- /dev/null
+++ b/test/tt.06
@@ -1,0 +1,7 @@
+{+ x[$1] += length
+}
+END {+ for (i in x)
+ print i, x[i] | "sort"
+}
--- /dev/null
+++ b/test/tt.07
@@ -1,0 +1,1 @@
+NF % 2 == 0
--- /dev/null
+++ b/test/tt.08
@@ -1,0 +1,1 @@
+length % 2 == 0
--- /dev/null
+++ b/test/tt.09
@@ -1,0 +1,1 @@
+! /^./
--- /dev/null
+++ b/test/tt.10
@@ -1,0 +1,1 @@
+/.$/
--- /dev/null
+++ b/test/tt.10a
@@ -1,0 +1,2 @@
+BEGIN { x = ".$" }+$0 ~ x
--- /dev/null
+++ b/test/tt.11
@@ -1,0 +1,1 @@
+{ print substr($0, 10,10) }--- /dev/null
+++ b/test/tt.12
@@ -1,0 +1,1 @@
+{ $3 = "xxx" $3 "xxx"; $4--; print }--- /dev/null
+++ b/test/tt.13
@@ -1,0 +1,5 @@
+{ for (i = 1; i <= NF; i++)+ x[i] = $i
+ for (i = 1; i <= NF; i++)
+ print x[i]
+}
--- /dev/null
+++ b/test/tt.13a
@@ -1,0 +1,5 @@
+{ for (i = 1; i <= NF; i++)+ x[i] = $i
+ for (i = 1; i <= NF; i++)
+ printf "%d %s\n", i, x[i]
+}
--- /dev/null
+++ b/test/tt.14
@@ -1,0 +1,7 @@
+function abs(x) { return (x < 0) ? -x : x }+BEGIN { n = 1000+ for (i = 1; i < n; i++) x[i] = rand()
+ for (i in x)
+ for (j in x)
+ if (abs(x[i]-x[j]) < .01) break
+ }
--- /dev/null
+++ b/test/tt.15
@@ -1,0 +1,33 @@
+# fmt - format
+# input: text
+# output: text formatted into lines of <= 72 characters
+
+BEGIN {+ maxlen = 72
+}
+
+/^[ \t]/ { printline(); print; next } # verbatim+###/^ +/ { printline(); } # whitespace == break+
+/./ { for (i = 1; i <= NF; i++) addword($i); next }+
+/^$/ { printline(); print "" }+END { printline() }+
+function addword(w) {+ print "adding [", w, "] ", length(w), length(line), maxlen
+ if (length(line) + length(w) > maxlen)
+ printline()
+ if (length(w) > 2 && ( w ~ /[\.!]["?)]?$/ || w ~ /[?!]"?$/) &&
+ w !~ /^(Mr|Dr|Ms|Mrs|vs|Ph.D)\.$/)
+ w = w " "
+ line = line " " w
+}
+
+function printline() {+ if (length(line) > 0) {+ sub(/ +$/, "", line)
+ print substr(line, 2) # removes leading blank
+ line = ""
+ }
+}
--- /dev/null
+++ b/test/tt.16
@@ -1,0 +1,6 @@
+
+{ for (i = 1; i <= NF; i++)+ w[$i]++
+}
+
+END { for (i in w) print w[i], i | "sort -nr" }--- /dev/null
+++ b/test/tt.big
@@ -1,0 +1,51 @@
+{ print }+{ print NR, NF, $0 }+{ $2 = length($2); print }+{ s += length($2) }+END { print s }+{ s += $3 }+END { print s }+{ for (i = NF; i > 0; i--)+ printf "%s ", $i
+ printf("\n")+}
+ $1 == $1 && $2 == $2 # test some string compares
+ $1 != $2
+{+ sss = ""
+ for (i = NF; i > 0; i--)
+ sss = sss " " $i
+ print sss
+}
+{+ xx[$1] += length
+}
+END {+ for (i in xx)
+ print i, xx[i] | "sort"
+}
+NF % 2 == 0
+length % 2 == 0
+! /^./
+/.$/
+BEGIN { xxx = ".$" }+$0 ~ xxx
+{ print substr($0, 10,10) }+{ $3 = "xxx" $3 "xxx"; $4--; print }+{ for (i = 1; i <= NF; i++)+ x[i] = $i
+ for (i = 1; i <= NF; i++)
+ print x[i]
+}
+{ for (i = 1; i <= NF; i++)+ y[i] = $i
+ for (i = 1; i <= NF; i++)
+ printf "%d %s\n", i, y[i]
+}
+function abs(x) { return (x < 0) ? -x : x }+BEGIN { n = 1000+ for (i = 1; i < n; i++) x[i] = rand()
+ for (i in x)
+ for (j in x)
+ if (abs(x[i]-x[j]) < .01) break
+ }
--
⑨