diff options
author | Fabian Homborg <FHomborg@gmail.com> | 2015-08-10 23:49:22 +0200 |
---|---|---|
committer | Fabian Homborg <FHomborg@gmail.com> | 2015-09-11 11:33:04 +0200 |
commit | bbbadbcb7881c11ec3f4f4790d7331cac9d16b65 (patch) | |
tree | 07de0bf0c2c4f991110e45dbc457dd152e7ca243 /doc_src/printf.txt | |
parent | c0acc98faa8dc6ead2144b94899d3bbffc74f5ac (diff) |
Document printf
Diffstat (limited to 'doc_src/printf.txt')
-rw-r--r-- | doc_src/printf.txt | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/doc_src/printf.txt b/doc_src/printf.txt new file mode 100644 index 00000000..6c3ed558 --- /dev/null +++ b/doc_src/printf.txt @@ -0,0 +1,70 @@ +\section printf printf - display text according to a format string + +\subsection printf-synopsis Synopsis +\fish{synopsis} +printf format [argument...] +\endfish + +\subsection printf-description Description +A front end to the printf function that lets it be used from the shell. + +This tool reads a format string, and then outputs the arguments according to that format. + +Unlike `echo`, however, it does not append a newline unless explicitly directed to. + +Valid format specifiers are: + +- `%%d`: Argument will be used as decimal integer (signed or unsigned) + +- `%%i`: Argument will be used as a signed integer + +- `%%o`: An octal unsigned integer + +- `%%u`: An unsigned decimal integer + +- `%%x` or `%%X`: An unsigned hexadecimal integer + +- `%%f`, `%%g` or `%%G`: A floating-point number + +- `%%e` or `%%E`: A floating-point number in scientific (XXXeYY) notation + +- `%%s`: A string + +- `%%b`: As a string, interpreting backslash escapes, except that octal escapes are of the form \0 or \0ooo. + +`%%` signifies a literal "%". + +Note that conversion may fail, e.g. "102.234" will not losslessly convert to an integer, causing printf to print an error. + +printf also knows a number of backslash escapes: +- `\"` double quote +- `\\` backslash +- `\a` alert (bell) +- `\b` backspace +- `\c` produce no further output +- `\e` escape +- `\f` form feed +- `\n` new line +- `\r` carriage return +- `\t` horizontal tab +- `\v` vertical tab +- `\ooo` octal number (ooo is 1 to 3 digits) +- `\xhh` hexadecimal number (hhh is 1 to 2 digits) +- `\uhhhh` 16-bit Unicode character (hhhh is 4 digits) +- `\Uhhhhhhhh` 32-bit Unicode character (hhhhhhhh is 8 digits) + +The `format' argument is re-used as many times as necessary to convert all of the given arguments. + +This file has been imported from source code of printf command in GNU Coreutils version 6.9. If you would like to use a newer version of printf, for example the one shipped with your OS, try `command printf`. + +\subsection printf-example Example + +\fish +printf '%s\t%s\n' flounder fish +\endfish +Will print "flounder fish" (separated with a tab character), followed by a newline character. This is useful for writing completions, as fish expects completion scripts to output the option followed by the description, separated with a tab character. + +\fish +printf '%s:%d' "Number of bananas in my pocket" 42 +\endfish +Will print "Number of bananas in my pocket: 42", _without_ a newline. |