diff options
Diffstat (limited to 'man1p/unexpand.1p')
-rw-r--r-- | man1p/unexpand.1p | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/man1p/unexpand.1p b/man1p/unexpand.1p new file mode 100644 index 000000000..0db58e401 --- /dev/null +++ b/man1p/unexpand.1p @@ -0,0 +1,182 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "UNEXPAND" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" unexpand +.SH NAME +unexpand \- convert spaces to tabs +.SH SYNOPSIS +.LP +\fBunexpand\fP \fB[\fP \fB-a| -t\fP \fItablist\fP\fB][\fP\fIfile\fP\fB...\fP\fB]\fP\fB\fP +.SH DESCRIPTION +.LP +The \fIunexpand\fP 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 translated <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 position count for tab calculations to be +decremented; the count shall never be decremented to a value less +than one. +.SH OPTIONS +.LP +The \fIunexpand\fP utility shall conform to the Base Definitions volume +of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines. +.LP +The following options shall be supported: +.TP 7 +\fB-a\fP +In addition to translating <blank>s at the beginning 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. +.TP 7 +\fB-t\ \fP \fItablist\fP +Specify the tab stops. The application shall ensure that the \fItablist\fP +option-argument is a single argument consisting of +a single positive decimal integer or multiple positive decimal integers, +separated by <blank>s or commas, in ascending order. +If a single number is given, tabs shall be set \fItablist\fP column +positions apart instead of the default 8. If multiple numbers +are given, the tabs shall be set at those specific column positions. +.LP +The application shall ensure that each tab-stop position \fIN\fP 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 \fIN\fP shall +cause the next character output to be in the ( \fIN\fP+1)th column +position on that line. When the \fB-t\fP option is not +specified, the default shall be the equivalent of specifying \fB-t\ 8\fP +(except for the interaction with \fB-a\fP, described +below). +.LP +No <space>-to- <tab> conversions shall occur for characters at positions +beyond the last of those specified in a +multiple tab-stop list. +.LP +When \fB-t\fP is specified, the presence or absence of the \fB-a\fP +option shall be ignored; conversion shall not be limited +to the processing of leading <blank>s. +.sp +.SH OPERANDS +.LP +The following operand shall be supported: +.TP 7 +\fIfile\fP +A pathname of a text file to be used as input. +.sp +.SH STDIN +.LP +See the INPUT FILES section. +.SH INPUT FILES +.LP +The input files shall be text files. +.SH ENVIRONMENT VARIABLES +.LP +The following environment variables shall affect the execution of +\fIunexpand\fP: +.TP 7 +\fILANG\fP +Provide a default value for the internationalization 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 categories.) +.TP 7 +\fILC_ALL\fP +If set to a non-empty string value, override the values of all the +other internationalization variables. +.TP 7 +\fILC_CTYPE\fP +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 positions each character would +occupy on an output device. +.TP 7 +\fILC_MESSAGES\fP +Determine the locale that should be used to affect the format and +contents of diagnostic messages written to standard +error. +.TP 7 +\fINLSPATH\fP +Determine the location of message catalogs for the processing of \fILC_MESSAGES +\&.\fP +.sp +.SH ASYNCHRONOUS EVENTS +.LP +Default. +.SH STDOUT +.LP +The standard output shall be equivalent to the input files with the +specified <space>-to- <tab> conversions. +.SH STDERR +.LP +The standard error shall be used only for diagnostic messages. +.SH OUTPUT FILES +.LP +None. +.SH EXTENDED DESCRIPTION +.LP +None. +.SH EXIT STATUS +.LP +The following exit values shall be returned: +.TP 7 +\ 0 +Successful completion. +.TP 7 +>0 +An error occurred. +.sp +.SH CONSEQUENCES OF ERRORS +.LP +Default. +.LP +\fIThe following sections are informative.\fP +.SH APPLICATION USAGE +.LP +One non-intuitive aspect of \fIunexpand\fP is its restriction to leading +spaces when neither \fB-a\fP nor \fB-t\fP is +specified. Users who always want to convert all spaces in a file can +easily alias \fIunexpand\fP to use the \fB-a\fP or +\fB-t\ 8\fP option. +.SH EXAMPLES +.LP +None. +.SH RATIONALE +.LP +On several occasions, consideration was given to adding a \fB-t\fP +option to the \fIunexpand\fP utility to complement the +\fB-t\fP in \fIexpand\fP (see \fIexpand\fP ). The historical +intent of \fIunexpand\fP was to translate multiple <blank>s into tab +stops, where tab stops were a multiple of eight column +positions on most UNIX systems. An early proposal omitted \fB-t\fP +because it seemed outside the scope of the User Portability +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 international community and broke historical precedents +for some vendors in the FORTRAN community, so \fB-t\fP +was restored in conjunction with the list of valid extension categories +considered by the standard developers. Thus, +\fIunexpand\fP is now the logical converse of \fIexpand\fP. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIexpand\fP , \fItabs\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute 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.opengroup.org/unix/online.html . |