Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Commands:  fold(1)

tabs(1)

Standards:  standards(5)

expand(1)  —  Commands

NAME

expand, unexpand − Replaces tab characters with spaces or spaces with tab characters

SYNOPSIS

Current syntax

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

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

Obsolescent syntax

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

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

expand:  XPG4, XPG4−UNIX

unexpand:  XPG4, XPG4−UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags. 

FLAGS

-aReplaces 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 flag is specified with the unexpand command, the -a flag has no effect.  (This flag applies to the unexpand command only.) 

-t tablistSpecifies the tab stops.  The tablist argument consists of a single positive decimal integer or multiple 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.  Tabbing 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. 

-tabstopSets tab stops tabstop spaces apart instead of the default (8).  (Obsolescent)

-tab1, tab2, ..., tabn
Sets tab stops at specified columns.  (Obsolescent)

[Digital]  Columns are measured in bytes. 

PARAMETERS

fileThe path name of a file to be processed.  If you do not specify this parameter, standard input is read. 

DESCRIPTION

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 standard input, or the named files, and writes the result to the standard output. 

Backspace characters are preserved in the output and decrement the column 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 convert other sequences of spaces. 

ENVIRONMENT VARIABLES

The following environment variables affect the execution of expand and unexpand:

LANGProvides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. 

LC_ALLIf set to a non-empty string value, overrides the values of all the other internationalization variables. 

LC_CTYPEDetermines 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). 

LC_MESSAGESDetermines the locale for the format and contents of diagnostic messages written to standard error. 

NLSPATHDetermines the location of message catalogues for the processing of LC_MESSAGES. 

NOTES

If the expand command encounters difficulties opening any specified file, it writes an error message to standard error and terminates immediately with an error status. 

If the unexpand command encounters difficulties opening any specified file, it writes an error message to standard error and continues operation.  The exit status will reflect the error. 

EXAMPLES

     1.To replace tab characters in file with spaces, enter:

expand file

     2.To replace the spaces in file with tab characters, enter:

unexpand -a file

EXIT VALUES

The following exit values are returned by either command:

0Successful completion

>0An error occurred

RELATED INFORMATION

Commands:  fold(1), tabs(1)

Standards:  standards(5)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026