summaryrefslogtreecommitdiff
path: root/examples/scripts/zprintf
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scripts/zprintf')
-rwxr-xr-xexamples/scripts/zprintf26
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/scripts/zprintf b/examples/scripts/zprintf
new file mode 100755
index 0000000..5e2e3ad
--- /dev/null
+++ b/examples/scripts/zprintf
@@ -0,0 +1,26 @@
+#! /bin/bash
+#
+# zprintf - function that calls gawk to do printf for those systems that
+# don't have a printf executable
+#
+# The format and arguments can have trailing commas, just like gawk
+#
+# example:
+# zprintf 'Eat %x %x and suck %x!\n' 57005 48879 64206
+#
+# Chet Ramey
+# chet@po.cwru.edu
+
+[ $# -lt 1 ] && {
+ echo "zprintf: usage: zprintf format [args ...]" >&2
+ exit 2
+}
+
+fmt="${1%,}"
+shift
+
+for a in "$@"; do
+ args="$args,\"${a%,}\""
+done
+
+gawk "BEGIN { printf \"$fmt\" $args }"