The expand utility shall write files or the standard input to the
standard output with <tab>s replaced with one or more <space>s
needed to pad to the next tab stop. Any <backspace>s shall be copied to
the output and cause the column position count for tab stop calculations to be
decremented; the column position count shall not be decremented below zero.
The expand utility shall conform to the Base Definitions volume of
IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
The following option shall be supported:
Specify the tab stops. The application shall ensure that
the argument tablist consists of either a single positive decimal
integer or a list of tabstops. If a single number is given, tabs shall be
set that number of column positions apart instead of the default 8.
If a list of tabstops is given, the application shall ensure that it consists of
a list of two or more positive decimal integers, separated by <blank>s
or commas, in ascending order. The tabs shall be set at those specific column
positions. Each tab stop N shall be an integer value greater than zero,
and the list is in strictly ascending order. This is 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
In the event of expand having to process a <tab> at a position
beyond the last of those specified in a multiple tab-stop list, the
<tab> shall be replaced by a single <space> in the output.
The following environment variables shall affect the execution of expand:
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.)
If set to a non-empty string value, override the values of
all the other internationalization variables.
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 and input files), the processing of
<tab>s and <space>s, and for the determination of the width in
column positions each character would occupy on an output device.
Determine the locale that should be used to affect the
format and contents of diagnostic messages written to standard error.
Determine the location of message catalogs for the
processing of LC_MESSAGES.
The expand utility is useful for preprocessing text files (before
sorting, looking at specific columns, and so on) that contain <tab>s.
See the Base Definitions volume of IEEE Std 1003.1-2001, Section
3.103, Column Position.
The tablist option-argument consists of integers in ascending order.
Utility Syntax Guideline 8 mandates that expand shall accept the
integers (within the single argument) separated using either commas or
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