blob: 50b839cffde899202cef15c5d2918fc35a00f94a (
plain) (
tree)
|
|
# Evaluate an Awk expression given on the command line with an optional format
# Count arguments
case $# in
# If one argument, we assume format is %s\n
1) form='%s\n' expr=$1 ;;
# If two arguments, first is format, second expression
2) form=$1 expr=$2 ;;
# Any other number of arguments is wrong
*)
printf >&2 'ax: Need an expression\n'
exit 2
;;
esac
# Important note: there's little stopping the user from putting a fully-fledged
# Awk program into the expression; don't use this anywhere that code injection
# could wreck your life. See manual page ax(1df).
awk -v form="$form" 'BEGIN{printf form,('"$expr"');exit}'
|