Printf (Unix)

In Unix and Unix-like operating systems, printf is a shell builtin (and utility program ) that formats and outputs text like the same-named C function.

Originally named for outputting to a printer, it actually outputs to standard output.

The command accepts a format string, which specifies how to format values, and a list of values.

Characters in the format string are copied to the output verbatim except when a format specifier is found which causes a value to be output.

In addition to the standard format specifiers,  causes the command to expand backslash escape sequences (for example   for newline), and   outputs an item that can be used as shell input. The format string is reused if there are more items than format specs. Unused format specs provide a zero value or null string.

History
printf is part of the X/Open Portability Guide since issue 4 of 1992. It was inherited into the first version of POSIX.1 and the Single Unix Specification. It first appeared in 4.3BSD-Reno.

The version of  bundled in GNU coreutils was written by David MacKenzie. It has an extension for escaping strings in POSIX-shell format.

Examples
> > >> 004 26305<< >> 006 6687<< >> 008 20170<< >> 009 28322<< >> 010 4400<<

This will print a directory listing, emulating 'ls':