mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-13 05:28:49 +00:00
Document printf
This commit is contained in:
parent
c0acc98faa
commit
bbbadbcb78
1 changed files with 70 additions and 0 deletions
70
doc_src/printf.txt
Normal file
70
doc_src/printf.txt
Normal file
|
@ -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.
|
Loading…
Reference in a new issue