This article needs additional citations for verification. (July 2010) (Learn how and when to remove this template message)
|Operating system||Unix and Unix-like|
|License||coreutils: GNU GPL v3|
The command accepts a printf format string, which specifies methods for formatting items, and a list of items to be formatted. Named historically after the intention of printing to a printer, it now actually outputs to stdout. Characters in the format string are copied to the output or, if a % is encountered, are used to format an item. In addition to the standard formats, %b causes printf 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.
$ for NUMBER in 4 6 8 9 10 > do printf " >> %03d %d<< \n" $NUMBER $RANDOM > done >> 004 26305<< >> 006 6687<< >> 008 20170<< >> 009 28322<< >> 010 4400<<
This will print a directory listing, emulating 'ls':
printf "%s\n" *
- See printf function for more details.