aboutsummaryrefslogtreecommitdiffstats
path: root/extension/testrecord.sh
diff options
context:
space:
mode:
authorjohn haque <j.eh@mchsi.com>2012-05-03 16:36:25 -0500
committerjohn haque <j.eh@mchsi.com>2012-05-03 16:36:25 -0500
commitdbabe5a569ad82a9faeb2f121e387ec6399f9dcb (patch)
treea868d671a650aabc34d5b6802c4514649dbe13a4 /extension/testrecord.sh
parent3a8c139d1a28651bf222b05cb0895bf5066bb9f9 (diff)
downloadegawk-dbabe5a569ad82a9faeb2f121e387ec6399f9dcb.tar.gz
egawk-dbabe5a569ad82a9faeb2f121e387ec6399f9dcb.tar.bz2
egawk-dbabe5a569ad82a9faeb2f121e387ec6399f9dcb.zip
Add extension example to read/write files with fixed-length records.
Diffstat (limited to 'extension/testrecord.sh')
-rwxr-xr-xextension/testrecord.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/extension/testrecord.sh b/extension/testrecord.sh
new file mode 100755
index 00000000..61d1ba76
--- /dev/null
+++ b/extension/testrecord.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+AWK=../gawk
+$AWK 'BEGIN { OFS = ORS = ""; for (j = 1; j <= 4; j++) for (i = 1; i <= 16; i++) print j}' > _rec.in
+for i in 1 2 3 4 5
+do
+$AWK -f record.awk -vinfile='_rec.in' -e 'BEGIN {
+reclen = 16
+record(r, infile, reclen, "r+")
+FIELDWIDTHS="8 4 4"
+for (i = 1; i in r; i++) {
+ $0 = r[i]
+ print $1
+}
+delete r[1]
+unbind_array(r)
+print "--" }'
+done
+rm -f _rec.in