EXPAND(1) User Commands EXPAND(1)


NAME


expand, unexpand - expand TAB characters to SPACE characters, and vice
versa

SYNOPSIS


expand [-t tablist] [file]...


expand [-tabstop] [-tab1, tab2,. . ., tabn] [file]...


unexpand [-a] [-t tablist] [file]...


DESCRIPTION


The expand utility copies files (or the standard input) to the standard
output, with TAB characters expanded to SPACE characters. BACKSPACE
characters are preserved into the output and decrement the column count
for TAB calculations. expand is useful for pre-processing character files
(before sorting, looking at specific columns, and so forth) that contain
TAB characters.


unexpand copies files (or the standard input) to the standard output,
putting TAB characters back into the data. By default, only leading SPACE
and TAB characters are converted to strings of tabs, but this can be
overridden by the -a option (see the OPTIONS section below).

OPTIONS


The following options are supported for expand:

-t tablist
Specifies the tab stops. The argument tablist
must consist of a single positive decimal
integer or multiple positive decimal integers,
separated by blank characters or commas, in
ascending order. If a single number is given,
tabs will be set tablist column positions apart
instead of the default 8. If multiple numbers
are given, the tabs will be set at those
specific column positions.

Each tab-stop position N must be an integer
value greater than zero, and the list must be
in strictly ascending order. This is taken to
mean that, from the start of a line of output,
tabbing to position N causes the next character
output to be in the (N+1)th column position on
that line.

In the event of expand having to process a tab
character at a position beyond the last of
those specified in a multiple tab-stop list,
the tab character is replaced by a single space
character in the output.


-tabstop
Specifies as a single argument, sets TAB
characters tabstop SPACE characters apart
instead of the default 8.


-tab1,tab2,...,tabn
Sets TAB characters at the columns specified by
-tab1,tab2,...,tabn


The following options are supported for unexpand:

-a
Inserts TAB characters when replacing a run of two or more
SPACE characters would produce a smaller output file.


-t tablist
Specifies the tab stops. The option-argument tablist must
be a single argument consisting of a single positive
decimal integer or multiple positive decimal integers,
separated by blank characters or commas, in ascending
order. If a single number is given, tabs will be set
tablist column positions apart instead of the default 8.
If multiple numbers are given, the tabs will be set at
those specific column positions. Each tab-stop position N
must be an integer value greater than zero, and the list
must be in strictly ascending order. This is taken to mean
that, from the start of a line of output, tabbing to
position N will cause the next character output to be in
the (N+1)th column position on that line. When the -t
option is not specified, the default is the equivalent of
specifying -t 8 (except for the interaction with -a,
described below).

No space-to-tab character conversions occur for characters
at positions beyond the last of those specified in a
multiple tab-stop list.

When -t is specified, the presence or absence of the -a
option is ignored; conversion will not be limited to the
processing of leading blank characters.


OPERANDS


The following operand is supported for expand and unexpand:

file
The path name of a text file to be used as input.


ENVIRONMENT VARIABLES


See environ(5) for descriptions of the following environment variables
that affect the execution of expand and unexpand: LANG, LC_ALL, LC_CTYPE,
LC_MESSAGES, and NLSPATH.

EXIT STATUS


The following exit values are returned:

0
Successful completion


>0
An error occurred.


ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | enabled |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+

SEE ALSO


tabs(1), attributes(5), environ(5), standards(5)


February 1, 1995 EXPAND(1)