(gawk.info.gz) Control Letters

Info Catalog (gawk.info.gz) Basic Printf (gawk.info.gz) Printf (gawk.info.gz) Format Modifiers
 
 4.5.2 Format-Control Letters
 ----------------------------
 
 A format specifier starts with the character `%' and ends with a
 "format-control letter"--it tells the `printf' statement how to output
 one item.  The format-control letter specifies what _kind_ of value to
 print.  The rest of the format specifier is made up of optional
 "modifiers" that control _how_ to print the value, such as the field
 width.  Here is a list of the format-control letters:
 
 `%c'
      This prints a number as an ASCII character; thus, `printf "%c",
      65' outputs the letter `A'. (The output for a string value is the
      first character of the string.)
 
           NOTE: The `%c' format does _not_ handle values outside the
           range 0-255.  On most systems, values from 0-127 are within
           the range of ASCII and will yield an ASCII character.  Values
           in the range 128-255 may format as characters in some
           extended character set, or they may not.  System 390 (IBM
           architecture mainframe) systems use 8-bit characters, and
           thus values from 0-255 yield the corresponding EBCDIC
           character.  Any value above 255 is treated as modulo 255;
           i.e., the lowest eight bits of the value are used.  The
           locale and character set are always ignored.
 
 `%d, %i'
      These are equivalent; they both print a decimal integer.  (The
      `%i' specification is for compatibility with ISO C.)
 
 `%e, %E'
      These print a number in scientific (exponential) notation; for
      example:
 
           printf "%4.3e\n", 1950
 
      prints `1.950e+03', with a total of four significant figures,
      three of which follow the decimal point.  (The `4.3' represents
      two modifiers, discussed in the next node.)  `%E' uses `E' instead
      of `e' in the output.
 
 `%f'
      This prints a number in floating-point notation.  For example:
 
           printf "%4.3f", 1950
 
      prints `1950.000', with a total of four significant figures, three
      of which follow the decimal point.  (The `4.3' represents two
      modifiers, discussed in the next node.)
 
      On systems supporting IEEE 754 floating point format, values
      representing negative infinity are formatted as `-inf' or
      `-infinity', and positive infinity as `inf' and `infinity'.  The
      special "not a number" value formats as `-nan' or `nan'.
 
 `%F'
      Like `%f' but the infinity and "not a number" values are spelled
      using uppercase letters.
 
      The `%F' format is a POSIX extension to ISO C; not all systems
      support it.  On those that don't, `gawk' uses `%f' instead.
 
 `%g, %G'
      These print a number in either scientific notation or in
      floating-point notation, whichever uses fewer characters; if the
      result is printed in scientific notation, `%G' uses `E' instead of
      `e'.
 
 `%o'
      This prints an unsigned octal integer.
 
 `%s'
      This prints a string.
 
 `%u'
      This prints an unsigned decimal integer.  (This format is of
      marginal use, because all numbers in `awk' are floating-point; it
      is provided primarily for compatibility with C.)
 
 `%x, %X'
      These print an unsigned hexadecimal integer; `%X' uses the letters
      `A' through `F' instead of `a' through `f'.
 
 `%%'
      This isn't a format-control letter, but it does have meaning--the
      sequence `%%' outputs one `%'; it does not consume an argument and
      it ignores any modifiers.
 
      NOTE: When using the integer format-control letters for values
      that are outside the range of the widest C integer type, `gawk'
      switches to the `%g' format specifier. If `--lint' is provided on
      the command line ( Options), `gawk' warns about this.
      Other versions of `awk' may print invalid values or do something
      else entirely.  (d.c.)
 
Info Catalog (gawk.info.gz) Basic Printf (gawk.info.gz) Printf (gawk.info.gz) Format Modifiers
automatically generated by info2html