summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2017/man1p/unexpand.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2017/man1p/unexpand.1p')
-rw-r--r--man-pages-posix-2017/man1p/unexpand.1p240
1 files changed, 240 insertions, 0 deletions
diff --git a/man-pages-posix-2017/man1p/unexpand.1p b/man-pages-posix-2017/man1p/unexpand.1p
new file mode 100644
index 0000000..beb93ed
--- /dev/null
+++ b/man-pages-posix-2017/man1p/unexpand.1p
@@ -0,0 +1,240 @@
+'\" et
+.TH UNEXPAND "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+unexpand
+\(em convert spaces to tabs
+.SH SYNOPSIS
+.LP
+.nf
+unexpand \fB[\fR-a|-t \fItablist\fB] [\fIfile\fR...\fB]\fR
+.fi
+.SH DESCRIPTION
+The
+.IR unexpand
+utility shall copy files or standard input to standard output,
+converting
+<blank>
+characters at the beginning of each line into the maximum number of
+<tab>
+characters followed by the minimum number of
+<space>
+characters needed to fill the same column positions originally filled
+by the translated
+<blank>
+characters. 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
+The
+.IR unexpand
+utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 12.2" ", " "Utility Syntax Guidelines".
+.P
+The following options shall be supported:
+.IP "\fB\-a\fP" 10
+In addition to translating
+<blank>
+characters at the beginning of each line, translate all sequences of
+two or more
+<blank>
+characters immediately preceding a tab stop to the maximum number of
+<tab>
+characters followed by the minimum number of
+<space>
+characters needed to fill the same column positions originally filled
+by the translated
+<blank>
+characters.
+.IP "\fB\-t\ \fItablist\fR" 10
+Specify the tab stops. The application shall ensure that the
+.IR tablist
+option-argument is a single argument consisting of a single positive
+decimal integer or multiple positive decimal integers, separated by
+<blank>
+or
+<comma>
+characters, in ascending order. If a single number is given, tabs shall
+be set
+.IR tablist
+column positions apart instead of the default 8. If multiple numbers
+are given, the tabs shall be set at those specific column positions.
+.RS 10
+.P
+The application shall ensure that each tab-stop position
+.IR 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
+.IR N
+shall cause the next character output to be in the (\c
+.IR N +1)th
+column position on that line. When the
+.BR \-t
+option is not specified, the default shall be the equivalent of
+specifying
+.BR "\-t\ 8"
+(except for the interaction with
+.BR \-a ,
+described below).
+.P
+No
+<space>-to-\c
+<tab>
+conversions shall occur for characters at positions beyond the last of
+those specified in a multiple tab-stop list.
+.P
+When
+.BR \-t
+is specified, the presence or absence of the
+.BR \-a
+option shall be ignored; conversion shall not be limited to the
+processing of leading
+<blank>
+characters.
+.RE
+.SH OPERANDS
+The following operand shall be supported:
+.IP "\fIfile\fR" 10
+A pathname of a text file to be used as input.
+.SH STDIN
+See the INPUT FILES section.
+.SH "INPUT FILES"
+The input files shall be text files.
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables shall affect the execution of
+.IR unexpand :
+.IP "\fILANG\fP" 10
+Provide a default value for the internationalization variables that are
+unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 8.2" ", " "Internationalization Variables"
+for the precedence of internationalization variables used to determine
+the values of locale categories.)
+.IP "\fILC_ALL\fP" 10
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.IP "\fILC_CTYPE\fP" 10
+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>
+and
+<space>
+characters, and for the determination of the width in column positions
+each character would occupy on an output device.
+.IP "\fILC_MESSAGES\fP" 10
+.br
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard error.
+.IP "\fINLSPATH\fP" 10
+Determine the location of message catalogs for the processing of
+.IR LC_MESSAGES .
+.SH "ASYNCHRONOUS EVENTS"
+Default.
+.SH STDOUT
+The standard output shall be equivalent to the input files with
+the specified
+<space>-to-\c
+<tab>
+conversions.
+.SH STDERR
+The standard error shall be used only for diagnostic messages.
+.SH "OUTPUT FILES"
+None.
+.SH "EXTENDED DESCRIPTION"
+None.
+.SH "EXIT STATUS"
+The following exit values shall be returned:
+.IP "\00" 6
+Successful completion.
+.IP >0 6
+An error occurred.
+.SH "CONSEQUENCES OF ERRORS"
+Default.
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+One non-intuitive aspect of
+.IR unexpand
+is its restriction to leading
+<space>
+characters when neither
+.BR \-a
+nor
+.BR \-t
+is specified. Users who always want to convert all
+<space>
+characters in a file can easily alias
+.IR unexpand
+to use the
+.BR \-a
+or
+.BR "\-t\ 8"
+option.
+.SH EXAMPLES
+None.
+.SH RATIONALE
+On several occasions, consideration was given to adding a
+.BR \-t
+option to the
+.IR unexpand
+utility to complement the
+.BR \-t
+in
+.IR expand
+(see
+.IR "\fIexpand\fR\^").
+The historical intent of
+.IR unexpand
+was to translate multiple
+<blank>
+characters into tab stops, where tab stops were a multiple of eight
+column positions on most UNIX systems. An early proposal omitted
+.BR \-t
+because it seemed outside the scope of the User Portability Utilities
+option; it was not described in any of the base documents for IEEE\ Std 1003.2\(hy1992.
+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
+.BR \-t
+was restored in conjunction with the list of valid extension categories
+considered by the standard developers. Thus,
+.IR unexpand
+is now the logical converse of
+.IR expand .
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIexpand\fR\^",
+.IR "\fItabs\fR\^"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "Chapter 8" ", " "Environment Variables",
+.IR "Section 12.2" ", " "Utility Syntax Guidelines"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 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 .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .