Jump to content
Wikipedia The Free Encyclopedia

printf (Unix)

From Wikipedia, the free encyclopedia
Shell command for formatting and outputting text; like printf() library function
This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Printf" Unix – news · newspapers · books · scholar · JSTOR
(July 2010) (Learn how and when to remove this message)
printf
Developers Various open-source and commercial developers
Operating system Unix and Unix-like
Platform Cross-platform
Type Command
License coreutils: GPLv3+ [1]

printf is a shell command that formats and outputs text like the same-named C function. It is available in a variety of Unix and Unix-like systems. Some shells implement the command as builtin and some provide it as a utility program [2]

The command has similar syntax and semantics as the library function. The command outputs text to standard output [3] as specified by a format string and a list of values. Characters of the format string are copied to the output verbatim except when a format specifier is found which causes a value to be output per the specifier.

The command has some aspects unlike the library function. In addition to the library function 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.[3] The value used for an unmatched specifier (too few values) is an empty string for %s or 0 for a numeric specifier. If there are more values than specifiers, then the command restarts processing the format string from its beginning,

The command 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.[4] It first appeared in 4.3BSD-Reno.[5]

The implementation bundled in GNU Core Utilities was written by David MacKenzie. It has an extension %q for escaping strings in POSIX-shell format.[3]

Examples

[edit ]

This prints a list of numbers:

$forNin4810;doprintf" >> %03d << \n"$N;done
>>004<<
>>008<<
>>010<<

This produces output for a directory's content similar to ls :

$printf"%s\n"*


References

[edit ]
  1. ^ "printf(1): format/print data - Linux man page". linux.die.net.
  2. ^ "GNU Coreutils". www.gnu.org.
  3. ^ a b c printf(1)  – Linux User Manual – User Commands from Manned.org
  4. ^ printf  – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group
  5. ^ printf(1)  – FreeBSD General Commands Manual
[edit ]
The Wikibook Guide to Unix has a page on the topic of: Commands

AltStyle によって変換されたページ (->オリジナル) /