expand, unexpand - Replaces tab characters with spaces or spaces with
expand [-t tablist] [file...]
unexpand [-a | -t tablist] [file...]
expand [-tabstop | -tab1,tab2,...,tabn] [file...]
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
Replaces spaces at the beginning of each line with a tab, and inserts
tab characters wherever their presence compresses the resultant file by
replacing two or more characters. When the -t option is specified with
the unexpand command, the -a option has no effect. (This option
applies to the unexpand command only.) Specifies the tab stops. The
tablist argument consists of a single positive decimal integer or mul‐
tiple positive decimal integers, separated by spaces or commas, in
ascending order. If a single number is specified, tabs are set tablist
column positions apart instead of the default (8). If multiple numbers
are specified, tabs are set at those specific column positions. Tab‐
bing to tab stop position n thus causes the next character output to be
in the (n+1)th column position on that line.
If expand has 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 in the output. Sets tab
stops tabstop spaces apart instead of the default (8). (Obso‐
lescent) Sets tab stops at specified columns. (Obsolescent)
[Tru64 UNIX] Columns are measured in bytes.
The path name of a file to be processed. If you do not specify this
operand, standard input is read.
The expand command changes tab characters to spaces in the named files,
or the standard input, and writes the result to the standard output.
The unexpand command puts tab characters into the data from the stan‐
dard input, or the named files, and writes the result to the standard
Backspace characters are preserved in the output and decrement the col‐
umn count for tab calculations. The column position count cannot be
decremented below one. The expand command is useful for preprocessing
character files (before sorting, looking at specific columns, and so
on.) that contain tab characters.
By default, unexpand converts only spaces that are within sequences of
spaces and tab characters at the beginnings of lines. Use -a to con‐
vert other sequences of spaces.
If the expand command encounters difficulties opening any specified
file, it writes an error message to standard error and terminates imme‐
diately with an error status.
If the unexpand command encounters difficulties opening any specified
file, it writes an error message to standard error and continues opera‐
tion. The exit status will reflect the error.
The following exit values are returned by either command: Successful
completion. An error occurred.
To replace tab characters in file with spaces, enter: expand file To
replace the spaces in file with tab characters, enter: unexpand -a file
The following environment variables affect the execution of expand and
unexpand: Provides a default value for the internationalization vari‐
ables that are unset or null. If LANG is unset or null, the correspond‐
ing value from the default locale is used. If any of the internation‐
alization variables contain an invalid setting, the utility behaves as
if none of the variables had been defined. If set to a non-empty
string value, overrides the values of all the other internationaliza‐
tion variables. Determines the locale for the interpretation of
sequences of bytes of text data as characters (for example, single-byte
as opposed to multibyte characters in arguments). Determines the
locale for the format and contents of diagnostic messages written to
standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
Commands: fold(1), tabs(1)