zprintf   [plain text]


#! /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 }"