Jump to content

printf (Unix)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Magic sergeant (talk | contribs) at 12:02, 12 June 2018 (Examples). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

printf ("print formatted") is a shell builtin (and utility program) that formats and prints data. It accepts a format string, which specifies methods for formatting items, and a list of items to be formatted. Named for the intention of printing to a printer, it actually outputs to stdout.[1] 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.[1] The format string is reused if there are more items than format specs. Unused format specs provide a zero value or null string.

See printf function for more details.

Examples

$ 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" *

References

  1. ^ a b "printf(3) - Linux manual page". man7.org. Retrieved 2015-10-16.