blob: 3840acf5aebdeddfca8b31d12768bbe9153b1846 (
plain) (
tree)
|
|
#!/bin/sh
# ax(1): Evaluate an Awk expression given on the command line with an optional
# format.
# Usage function
usage() {
printf 'ax: USAGE: ax [format] expression\n'
}
# Check number of arguments
case $# in
# If one argument, we assume format is %s
1) form=%s expr=$1 ;;
# If two arguments, first is format, second expression
2) form=$1 expr=$2 ;;
# Any other number of arguments is wrong
*)
usage >&2
exit 2
;;
esac
# Give help if requested
case $1 in
-h|--help|-\?)
usage
exit 0
;;
esac
# Form program
prog=$(printf '
BEGIN {
printf "%s\\n", %s
}
' "$form" "$expr")
# Run the program
awk "$prog"
|