formats(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

formats(7)

fo...s(7)Standards, Environments, Macros, Character Sets, and miscellanfyo...s(7)

NAME
       formats - file format notation

DESCRIPTION
       Utility  descriptions  use  a  syntax to describe the data organization
       within files—stdin, stdout, stderr, input files, and output  files—when
       that  organization  is  not otherwise obvious. The syntax is similar to
       that used by the printf(3C) function. When used for stdin or input file
       descriptions, this syntax describes the format  that  could  have  been
       used  to  write the text to be read, not a format that could be used by
       the scanf(3C) function to read the input file.

   Format
       The description of an individual record is as follows:

         "<format>", [<arg1>, <arg2>, ..., <argn>]



       The format is a character string that contains three types  of  objects
       defined below:

       characters

           Characters  that  are not escape sequences or conversion specifica‐
           tions, as described below, are copied to the output.


       escape sequences

           Represent non-graphic characters.


       conversion specifications

           Specifies the output format of each argument. (See below.)



       The following characters have the following special meaning in the for‐
       mat string:

       " "    (An empty character position.) One or more blank characters.


       /\     Exactly one space character.



       The notation for spaces allows some flexibility for application output.
       Note that an empty character position in format represents one or  more
       blank characters on the output (not white space, which can include new‐
       line  characters). Therefore, another utility that reads that output as
       its input must be prepared to parse the data using  scanf(3C),  awk(1),
       and so forth. The character is used when exactly one space character is
       output.

   Escape Sequences
       The  following  table  lists escape sequences and associated actions on
       display devices capable of the action.

       tab(); lw(1.21i) cw(1.15i) lw(3.14i) cw(1.21i) lw(1.15i) lw(3.14i)  Se‐
       quenceCharacterTerminal  Action  _ \\backslashNone.  \aalertT{ Attempts
       to alert the user through audible or visible notification.  T}  \bback‐
       spaceT{  Moves  the  printing position to one column before the current
       position, unless the current position is  the  start  of  a  line.   T}
       \fform feedT{ Moves the printing position to the initial printing posi‐
       tion of the next logical page.  T} \nnewlineT{ Moves the printing posi‐
       tion  to  the start of the next line.  T} \rcarriage-returnT{ Moves the
       printing position to the start of the current line.  T}  \ttabT{  Moves
       the  printing position to the next tab position on the current line. If
       there are no more tab positions left on the line, the behavior is unde‐
       fined.  T} \vvertical-tabT{ Moves the printing position to the start of
       the next vertical tab position. If there are no more vertical tab posi‐
       tions left on the page, the behavior is undefined.  T}


   Conversion Specifications
       Each conversion specification is introduced by the percent-sign charac‐
       ter (%). After the character %, the following appear in sequence:

       flags

           Zero or more flags, in any order, that modify the  meaning  of  the
           conversion specification.


       field width

           An  optional  string  of  decimal digits to specify a minimum field
           width. For an output field, if the converted value has fewer  bytes
           than  the  field  width, it is padded on the left (or right, if the
           left-adjustment flag (−), described below, has been  given  to  the
           field width).


       precision

           Gives  the minimum number of digits to appear for the d, o, i, u, x
           or X conversions (the field is padded with leading zeros), the num‐
           ber of digits to appear after the radix character for the e  and  f
           conversions,  the  maximum  number  of significant digits for the g
           conversion; or the maximum number of bytes to  be  written  from  a
           string  in  s  conversion. The precision takes the form of a period
           (.) followed by a decimal digit string;  a  null  digit  string  is
           treated as zero.


       conversion characters

           A  conversion character (see below) that indicates the type of con‐
           version to be applied.


   flags
       The flags and their meanings are:

       −          The result of the conversion is  left-justified  within  the
                  field.


       +          The  result of a signed conversion always begins with a sign
                  (+ or −).


       <space>    If the first character of a signed conversion is not a sign,
                  a space character is prefixed to the result. This means that
                  if the space character and + flags both  appear,  the  space
                  character flag is ignored.


       #          The  value is to be converted to an alternative form. For c,
                  d, i, u, and s conversions, the behaviour is undefined.  For
                  o  conversion, it increases the precision to force the first
                  digit of the result to be a zero. For x or X  conversion,  a
                  non-zero  result  has 0x or 0X prefixed to it, respectively.
                  For e, E, f, g, and G conversions, the  result  always  con‐
                  tains  a radix character, even if no digits follow the radix
                  character. For g and G conversions, trailing zeros  are  not
                  removed from the result as they usually are.


       0          For d, i, o, u, x, X, e, E, f, g, and G conversions, leading
                  zeros (following any indication of sign or base) are used to
                  pad  to  the  field width; no space padding is performed. If
                  the 0 and − flags both appear, the 0 flag is ignored. For d,
                  i, o, u, x and X conversions, if a precision  is  specified,
                  the  0 flag is ignored. For other conversions, the behaviour
                  is undefined.


   Conversion Characters
       Each conversion character results in fetching zero or  more  arguments.
       The  results  are undefined if there are insufficient arguments for the
       format. If the format is exhausted while arguments remain,  the  excess
       arguments are ignored.


       The conversion characters and their meanings are:

       d,i,o,u,x,X    The  integer argument is written as signed decimal (d or
                      i), unsigned octal (o), unsigned  decimal  (u),  or  un‐
                      signed hexadecimal notation (x and X). The d and i spec‐
                      ifiers  convert  to signed decimal in the style [−]dddd.
                      The  x  conversion  uses   the   numbers   and   letters
                      0123456789abcdef  and  the X conversion uses the numbers
                      and letters 0123456789ABCDEF. The precision component of
                      the argument specifies the minimum number of  digits  to
                      appear.  If the value being converted can be represented
                      in fewer digits than the specified minimum,  it  is  ex‐
                      panded  with  leading zeros. The default precision is 1.
                      The result of converting a zero value with  a  precision
                      of  0 is no characters. If both the field width and pre‐
                      cision are omitted, the implementation may precede, fol‐
                      low or precede and follow numeric arguments of types  d,
                      i  and u with blank characters; arguments of type o (oc‐
                      tal) may be preceded with leading zeros.

                      The treatment of integers and spaces is  different  from
                      the  printf(3C)  function in that they can be surrounded
                      with blank characters. This was done so  that,  given  a
                      format such as:


                        "%d\n",<foo>

                      the implementation could use a printf() call such as:


                        printf("%6d\n", foo);

                      and  still  conform. This notation is thus somewhat like
                      scanf() in addition to printf().


       f              The floating-point number argument is written in decimal
                      notation in the style [−]ddd.ddd, where  the  number  of
                      digits  after the radix character (shown here as a deci‐
                      mal point) is equal to the precision specification.  The
                      LC_NUMERIC  locale category determines the radix charac‐
                      ter to use in this format. If the precision  is  omitted
                      from  the  argument,  six  digits  are written after the
                      radix character; if the precision is  explicitly  0,  no
                      radix character appears.


       e,E            The  floating-point  number  argument  is written in the
                      style [−]d.ddde±dd (the symbol ± indicates either a plus
                      or minus sign), where there  is  one  digit  before  the
                      radix  character (shown here as a decimal point) and the
                      number of digits after it is equal to the precision. The
                      LC_NUMERIC locale category determines the radix  charac‐
                      ter  to  use in this format. When the precision is miss‐
                      ing, six digits are written after the  radix  character;
                      if the precision is 0, no radix character appears. The E
                      conversion character produces a number with E instead of
                      e introducing the exponent. The exponent always contains
                      at least two digits. However, if the value to be written
                      requires an exponent greater than two digits, additional
                      exponent digits are written as necessary.


       g,G            The floating-point number argument is written in style f
                      or  e (or in style E in the case of a G conversion char‐
                      acter), with the precision specifying the number of sig‐
                      nificant digits. The style used  depends  on  the  value
                      converted:  style g is used only if the exponent result‐
                      ing from the conversion is less than −4 or greater  than
                      or  equal  to  the precision. Trailing zeros are removed
                      from the result. A radix character appears only if it is
                      followed by a digit.


       c              The integer argument is converted to  an  unsigned  char
                      and the resulting byte is written.


       s              The  argument is taken to be a string and bytes from the
                      string are written until the end of the  string  or  the
                      number of bytes indicated by the precision specification
                      of  the argument is reached. If the precision is omitted
                      from the argument, it is taken to be  infinite,  so  all
                      bytes up to the end of the string are written.


       %              Write a % character; no argument is converted.



       In  no case does a non-existent or insufficient field width cause trun‐
       cation of a field; if the result of a  conversion  is  wider  than  the
       field width, the field is simply expanded to contain the conversion re‐
       sult.  The term field width should not be confused with the term preci‐
       sion used in the description of %s.


       One difference from the C function printf() is that the l and h conver‐
       sion characters are not used. There is no differentiation between deci‐
       mal values for type int, type long, or type short.  The  specifications
       %d  or %i should be interpreted as an arbitrary length sequence of dig‐
       its. Also, no distinction is made between single precision  and  double
       precision  numbers (float or double in C). These are simply referred to
       as floating-point numbers.


       Many of the output descriptions use the term line, such as:

         "%s", <input line>



       Since the definition of line includes the  trailing  newline  character
       already,  there is no need to include a \n in the format; a double new‐
       line character would otherwise result.

EXAMPLES
       Example 1 To represent the output of a program that prints a  date  and
       time in the form Sunday, July 3, 10:02, where <weekday> and <month> are
       strings:


         "%s,/\%s/\%d,/\%d:%.2d\n",<weekday>,<month>,<day>,<hour>,<min>


       Example 2 To show pi written to 5 decimal places:


         "pi/\=/\%.5f\n",<value of pi>


       Example  3  To show an input file format consisting of five colon-sepa‐
       rated fields:


         "%s:%s:%s:%s:%s\n",<arg1>,<arg2>,<arg3>,<arg4>,<arg5>


SEE ALSO
       awk(1), printf(1), printf(3C), scanf(3C)

Oracle Solaris 11.4               11 May 2021                        fo...s(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3