Provided by: manpages-posix_2.16-1_all bug

NAME

       tabs - set terminal tabs

SYNOPSIS

       tabs [ -n| -a| -a2| -c| -c2| -c3| -f| -p| -s| -u][+m[n]] [-T type]

       tabs [-T type][ +[n]] n1[,n2,...]

DESCRIPTION

       The  tabs  utility  shall  display  a  series  of  characters that first clears the hardware terminal tab
       settings and then initializes the tab stops at the specified  positions     and  optionally  adjusts  the
       margin.

       The phrase "tab-stop position N" shall be taken to mean that, from the start of a line of output, tabbing
       to  position  N shall cause the next character output to be in the ( N+1)th column position on that line.
       The maximum number of tab stops allowed is terminal-dependent.

       It need not be possible to implement tabs on certain terminals.  If the terminal type obtained  from  the
       TERM  environment  variable  or  -T  option represents such a terminal, an appropriate diagnostic message
       shall be written to standard error and tabs shall exit with a status greater than zero.

OPTIONS

       The tabs utility shall conform to the Base Definitions  volume  of  IEEE Std 1003.1-2001,  Section  12.2,
       Utility  Syntax  Guidelines,   except  for  various  extensions: the options -a2, -c2, and -c3 are multi-
       character.

       The following options shall be supported:

       -n     Specify repetitive tab stops separated by a uniform number of column positions, n, where  n  is  a
              single-digit  decimal  number.  The default usage of tabs with no arguments shall be equivalent to
              tabs-8. When -0 is used, the tab stops shall be cleared and no new ones set.

       -a     1,10,16,36,72
              Assembler, applicable to some mainframes.

       -a2    1,10,16,40,72
              Assembler, applicable to some mainframes.

       -c     1,8,12,16,20,55
              COBOL, normal format.

       -c2    1,6,10,14,49
              COBOL, compact format (columns 1 to 6 omitted).

       -c3    1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
              COBOL compact format (columns 1 to 6 omitted), with more tabs than -c2.

       -f     1,7,11,15,19,23
              FORTRAN

       -p     1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
              PL/1

       -s     1,10,55
              SNOBOL

       -u     1,12,20,44
              Assembler, applicable to some mainframes.

       -T  type
              Indicate the type of terminal. If this option is not supplied and the TERM variable  is  unset  or
              null,  an  unspecified  default  terminal  type  shall  be  used.  The  setting of type shall take
              precedence over the value in TERM .

OPERANDS

       The following operand shall be supported:

       n1[,n2,...]
              A single command line argument that consists of tab-stop values separated using either  commas  or
              <blank>s.  The  application shall ensure that the tab-stop values are positive decimal integers in
              strictly ascending order. If any number (except the first one) is preceded by a plus sign,  it  is
              taken as an increment to be added to the previous value. For example, the tab lists 1,10,20,30 and
              1,10,+10,+10 are considered to be identical.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of tabs:

       LANG   Provide  a  default  value for the internationalization variables that are unset or null. (See the
              Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization  Variables  for
              the  precedence  of  internationalization  variables  used  to  determine  the  values  of  locale
              categories.)

       LC_ALL If set to a non-empty string value, override the values  of  all  the  other  internationalization
              variables.

       LC_CTYPE
              Determine  the locale for the interpretation of sequences of bytes of text data as characters (for
              example, single-byte as opposed to multi-byte characters in arguments).

       LC_MESSAGES
              Determine the locale that should be used to affect the format and contents of diagnostic  messages
              written to standard error.

       NLSPATH
              Determine the location of message catalogs for the processing of LC_MESSAGES .

       TERM   Determine  the  terminal  type.  If  this  variable  is unset or null, and if the -T option is not
              specified, an unspecified default terminal type shall be used.

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       If standard output is a terminal, the appropriate sequence to clear and set the tab stops may be  written
       to  standard  output  in  an  unspecified format. If standard output is not a terminal, undefined results
       occur.

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0     Successful completion.

       >0     An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       This utility makes use of the terminal's hardware tabs and the stty tabs option.

       This utility is not recommended for application use.

       Some integrated display units might not have escape sequences to  set  tab  stops,  but  may  be  set  by
       internal  system calls. On these terminals, tabs works if standard output is directed to the terminal; if
       output is directed to another file, however, tabs fails.

EXAMPLES

       None.

RATIONALE

       Consideration was given to having the tput utility  handle  all  of  the  functions  described  in  tabs.
       However,  the  separate  tabs utility was retained because it seems more intuitive to use a command named
       tabs than tput with a new option. The tput utility does not support setting  or  clearing  tabs,  and  no
       known historical version of tabs supports the capability of setting arbitrary tab stops.

       The  System  V  tabs  interface is very complex; the version in this volume of IEEE Std 1003.1-2001 has a
       reduced feature list, but many of the features omitted were restored as XSI extensions  even  though  the
       supported languages and coding styles are primarily historical.

       There was considerable sentiment for specifying only a means of resetting the tabs back to a known state-
       presumably the "standard" of tabs every eight positions. The following features were omitted:

        * Setting  tab  stops  via the first line in a file, using -- file.  Since even the SVID has no complete
          explanation of this feature, it is doubtful that it is in widespread use.

       In an early proposal, a -t tablist option was added for consistency with expand; this was  later  removed
       when inconsistencies with the historical list of tabs were identified.

       Consideration  was  given  to  adding a -p option that would output the current tab settings so that they
       could be saved and then later restored. This was not accepted because  querying  the  tab  stops  of  the
       terminal is not a capability in historical terminfo or termcap facilities and might not be supported on a
       wide range of terminals.

FUTURE DIRECTIONS

       None.

SEE ALSO

       expand , stty , tput , unexpand

COPYRIGHT

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard  for  Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc and The Open Group. In the event of any discrepancy between this version and the  original  IEEE  and
       The  Open  Group  Standard,  the  original  IEEE and The Open Group Standard is the referee document. The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                                   2003                                               TABS(P)