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 nor-
       mal 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
       behaviour 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
       parameter name, instead of printed. If name is  an  array  and  the
       format string is reused when consuming arguments then one array el-
       ement will be used for each use of the format string.
