aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/printf.txt
diff options
context:
space:
mode:
authorGravatar Fabian Homborg <FHomborg@gmail.com>2015-08-10 23:49:22 +0200
committerGravatar Fabian Homborg <FHomborg@gmail.com>2015-09-11 11:33:04 +0200
commitbbbadbcb7881c11ec3f4f4790d7331cac9d16b65 (patch)
tree07de0bf0c2c4f991110e45dbc457dd152e7ca243 /doc_src/printf.txt
parentc0acc98faa8dc6ead2144b94899d3bbffc74f5ac (diff)
Document printf
Diffstat (limited to 'doc_src/printf.txt')
-rw-r--r--doc_src/printf.txt70
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.