aboutsummaryrefslogtreecommitdiffstats
path: root/examples/scripts/zprintf
blob: 5e2e3ad81c8d72f792ff0350b5b53398fdf94803 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 }"