printf [ -v name ] format [ arg ... ]
       Print  the  arguments according to the format specification. Format-
       ting rules are the same as used in C. The same escape  sequences  as
       for  echo  are recognised in the format. All C conversion specifica-
       tions ending in one of csdiouxXeEfgGn are handled.  In  addition  to
       this,  `%b' can be used instead of `%s' to cause escape sequences in
       the argument to be recognised and `%q' can be used to quote the  ar-
       gument  in  such  a  way that allows it to be reused as shell input.
       With the numeric format specifiers, if  the  corresponding  argument
       starts  with  a  quote character, the numeric value of the following
       character is used as the number to print; otherwise the argument  is
       evaluated  as  an arithmetic expression. See the section `Arithmetic
       Evaluation' in zshmisc(1) for a description  of  arithmetic  expres-
       sions.  With `%n', the corresponding argument is taken as an identi-
       fier which is created as an integer parameter.

       Normally, conversion specifications are applied to each argument  in
       order but they can explicitly specify the nth argument is to be used
       by  replacing `%' by `%n$' and `*' by `*n$'.  It is recommended that
       you do not mix references of this explicit  style  with  the  normal
       style and the handling of such mixed styles may be subject to future
       change.

       If  arguments  remain  unused after formatting, the format string is
       reused until all  arguments  have  been  consumed.  With  the  print
       builtin,  this can be suppressed by using the -r option. If more ar-
       guments are required by the format than have been specified, the be-
       haviour is as if zero or an empty string had been specified  as  the
       argument.

       The -v option causes the output to be stored as the value of the pa-
       rameter name, instead of printed. If name is an array and the format
       string  is  reused  when  consuming arguments then one array element
       will be used for each use of the format string.
