EXPAND(1)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 inte‐
gers, separated by blank characters or com‐
mas, 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 out‐
put, 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 sin‐
gle 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 posi‐
tive decimal integer or multiple positive decimal inte‐
gers, 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 out‐
put, 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 charac‐
ters 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 ooperand 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 ALSOtabs(1), attributes(5), environ(5), standards(5)
Feb 1, 1995 EXPAND(1)