man/cat1p/unexpand.1p.txt

unexpand(P) unexpand(P)
 
 
 
 
 
NAME
       unexpand - convert spaces to tabs
 
SYNOPSIS
       unexpand [ -a| -t tablist][file...]<img
       src="../images/opt-end.gif" alt="[Option End]" bor-
       der="0">
 
DESCRIPTION
       The unexpand utility shall copy files or standard input
       to standard output, converting <blank>s at the beginning
       of each line into the maximum number of <tab>s followed
       by the minimum number of <space>s needed to fill the
       same column positions originally filled by the trans-
       lated <blank>s. By default, tabstops shall be set at
       every eighth column position. Each <backspace> shall be
       copied to the output, and shall cause the column posi-
       tion count for tab calculations to be decremented; the
       count shall never be decremented to a value less than
       one.
 
OPTIONS
       The unexpand utility shall conform to the Base Defini-
       tions volume of IEEE Std 1003.1-2001, Section 12.2,
       Utility Syntax Guidelines.
 
       The following options shall be supported:
 
       -a In addition to translating <blank>s at the begin-
              ning of each line, translate all sequences of two
              or more <blank>s immediately preceding a tab stop
              to the maximum number of <tab>s followed by the
              minimum number of <space>s needed to fill the
              same column positions originally filled by the
              translated <blank>s.
 
       -t tablist
              Specify the tab stops. The application shall
              ensure that the tablist option-argument is a sin-
              gle argument consisting of a single positive dec-
              imal integer or multiple positive decimal inte-
              gers, separated by <blank>s or commas, in ascend-
              ing order. If a single number is given, tabs
              shall be set tablist column positions apart
              instead of the default 8. If multiple numbers are
              given, the tabs shall be set at those specific
              column positions.
 
       The application shall ensure that each tab-stop position
       N is an integer value greater than zero, and the list
       shall be 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 line. When
       the -t option is not specified, the default shall be the
       equivalent of specifying -t 8 (except for the interac-
       tion with -a, described below).
 
       No <space>-to- <tab> conversions shall 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 shall be ignored; conversion shall not be limited
       to the processing of leading <blank>s.
 
 
OPERANDS
       The following operand shall be supported:
 
       file A pathname of a text file to be used as input.
 
 
STDIN
       See the INPUT FILES section.
 
INPUT FILES
       The input files shall be text files.
 
ENVIRONMENT VARIABLES
       The following environment variables shall affect the
       execution of unexpand:
 
       LANG Provide a default value for the internationaliza-
              tion 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 cate-
              gories.)
 
       LC_ALL If set to a non-empty string value, override the
              values of all the other internationalization
              variables.
 
       LC_CTYPE
              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 posi-
              tions each character would occupy on an output
              device.
 
       LC_MESSAGES
              Determine the locale that should be used to
              affect the format and contents of diagnostic mes-
              sages written to standard error.
 
       NLSPATH
              Determine the location of message catalogs for
              the processing of LC_MESSAGES .
 
 
ASYNCHRONOUS EVENTS
       Default.
 
STDOUT
       The standard output shall be equivalent to the input
       files with the specified <space>-to- <tab> conversions.
 
STDERR
       The standard error shall be used only for diagnostic
       messages.
 
OUTPUT FILES
       None.
 
EXTENDED DESCRIPTION
       None.
 
EXIT STATUS
       The following exit values shall be returned:
 
        0 Successful completion.
 
       >0 An error occurred.
 
 
CONSEQUENCES OF ERRORS
       Default.
 
       The following sections are informative.
 
APPLICATION USAGE
       One non-intuitive aspect of unexpand is its restriction
       to leading spaces when neither -a nor -t is specified.
       Users who always want to convert all spaces in a file
       can easily alias unexpand to use the -a or -t 8 option.
 
EXAMPLES
       None.
 
RATIONALE
       On several occasions, consideration was given to adding
       a -t option to the unexpand utility to complement the -t
       in expand (see expand ). The historical intent of unex-
       pand was to translate multiple <blank>s into tab stops,
       where tab stops were a multiple of eight column posi-
       tions on most UNIX systems. An early proposal omitted -t
       because it seemed outside the scope of the User Porta-
       bility Utilities option; it was not described in any of
       the base documents. However, hard-coding tab stops
       every eight columns was not suitable for the interna-
       tional community and broke historical precedents for
       some vendors in the FORTRAN community, so -t was
       restored in conjunction with the list of valid extension
       categories considered by the standard developers. Thus,
       unexpand is now the logical converse of expand.
 
FUTURE DIRECTIONS
       None.
 
SEE ALSO
       expand , tabs
 
COPYRIGHT
       Portions of this text are reprinted and reproduced in
       electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard for Information Technology -- Portable Operat-
       ing System Interface (POSIX), The Open Group Base Speci-
       fications Issue 6, Copyright (C) 2001-2003 by the Insti-
       tute 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.open-
       group.org/unix/online.html .
 
 
 
POSIX 2003 unexpand(P)