printf

Format and print data.
Write the formatted arguments to the standard output under the control of the format.

SYNTAX
      printf format [argument]...

      printf --help

      printf --version

OPTIONS

       The format characters and their meanings are:

       \"     double quote

       \0NNN  character with octal value NNN (0 to 3 digits)

       \\     backslash

       \a     alert (BEL)

       \b     backspace

       \c     produce no further output

       \f     form feed

       \n     new line

       \r     carriage return

       \t     horizontal tab

       \v     vertical tab

       \xNNN  byte with hexadecimal value NNN (1 to 3 digits)

       \uNNNN character with hexadecimal value NNNN (4 digits)

       \UNNNNNNNN
              character with hexadecimal value NNNNNNNN (8 digits)

       %%     a single %

       %b     ARGUMENT as a string with `\' escapes interpreted

       %Wd    Integer `W' digits wide xxxx

       %W.De  Scientific notation x.xxxx e nnn. float, double

       %W.Df  Fixed format xx.xxxx. float, double

       %W.Dg  Variable `W' digits wide,`D' decimals  xxxx.xx

       %q     Output the corresponding argument in a format that can be
              reused as shell input

       %s     Character string char

       and  all C format specifications ending with one of diouxXfeEgGcs, with
       ARGUMENTs converted to proper type first.  Variable widths are handled.
       e.g.  `\0ooo' = an octal number, `\xhhh' = a hex number

The format is a character string which contains three types of objects:

The format is reused as necessary to consume all of the arguments. If the format requires more arguments than are supplied, the extra format specifications behave as if a zero value or null string, as appropriate, had been supplied.

The return value is zero on success, non-zero on failure.

Examples

Print the decimal number 5 followed by a newline (\n)
$ printf "%d\n" 5
5

Print as float (default 6 decimal places)
$ printf "%f\n" 5
5.000000

Print text followed by variable $USER
$ printf "Hello, $USER.\n\n"

Display variables
$ distance=15
$ printf "Distance is %5d Miles\n" $distance   
Distance is    15 Miles

Echo a list of numbers from 1 to 100, adding 3 digits of Zero padding
so they appear as 001, 002, 003 etc:
$ for ((num=1;num<=100;num+=1)); do echo `printf "%03d" $num`; done

Use \n anywhere to start a new line:
$ printf "Two separate\nlines\n"
Two separate
lines

Print decimal numbers interspersed with text
$ printf "There are %d orders valued at over %d euros.\n" 64 1500
There are 64 orders valued at over 1500 euros.

Print text interspersed with command results
$ printf "This is `uname -s` running on a `uname -m` processor.\n\n"

Convert a hex number to decimal
$ printf "%d\n " 0xF
15

Convert a decimal number to Hex
$ printf "0x%X\n " 15
0xF

Convert a decimal number to Octal
$ printf "0%o\n " 8
010

Convert an Octal  number to decimal
$ printf "%d\n " 010
8

“Fortune favours the bold, Fortune favours the brave” ~ Latin proverb

Related:

cat
- Display the contents of a file
less - Display output one screen at a time
more - Display output one screen at a time
Equivalent Windows commands: ECHO - Display message on screen


© Copyright SS64.com 1999-2013
Some rights reserved