printf | |
Developer: | Various open-source and commercial developers |
Operating System: | Unix and Unix-like |
Platform: | Cross-platform |
Genre: | Command |
License: | coreutils GPLv3+[1] |
In Unix and Unix-like operating systems, printf is a shell builtin (and utility program[2]) 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, %b
causes the command to expand backslash escape sequences (for example \n
for newline), and %q
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.
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 printf
bundled in GNU coreutils was written by David MacKenzie. It has an extension for escaping strings in POSIX-shell format.
This will print a directory listing, emulating 'ls':