Initial import from FreeBSD RELENG_4:
[dragonfly.git] / usr.bin / expand / expand.1
1 .\" Copyright (c) 1980, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)expand.1    8.1 (Berkeley) 6/9/93
33 .\" $FreeBSD: src/usr.bin/expand/expand.1,v 1.3.2.7 2003/02/25 00:54:13 trhodes Exp $
34 .\"
35 .Dd April 21, 2002
36 .Dt EXPAND 1
37 .Os
38 .Sh NAME
39 .Nm expand ,
40 .Nm unexpand
41 .Nd expand tabs to spaces, and vice versa
42 .Sh SYNOPSIS
43 .Nm
44 .Oo
45 .Fl t
46 .Sm off
47 .Ar tab1 , tab2 , ... , tabn
48 .Sm on
49 .Oc
50 .Op Ar
51 .Nm unexpand
52 .Op Fl a
53 .Oo
54 .Fl t
55 .Sm off
56 .Ar tab1 , tab2 , ... , tabn
57 .Sm on
58 .Oc
59 .Op Ar
60 .Sh DESCRIPTION
61 The
62 .Nm
63 utility processes the named files or the standard input writing
64 the standard output with tabs changed into blanks.
65 Backspace characters are preserved into the output and decrement
66 the column count for tab calculations.
67 The
68 .Nm
69 utility is useful for pre-processing character files
70 (before sorting, looking at specific columns, etc.) that
71 contain tabs.
72 .Pp
73 The
74 .Nm unexpand
75 utility puts tabs back into the data from the standard input or the named
76 files and writes the result on the standard output.
77 .Pp
78 The following options are available:
79 .Bl -tag -width indent
80 .It Fl a
81 .Nm ( unexpand
82 only.)
83 By default, only leading blanks and tabs
84 are reconverted to maximal strings of tabs.  If the
85 .Fl a
86 option is given, then tabs are inserted whenever they would compress the
87 resultant file by replacing two or more characters.
88 .It Fl t Sm Ar tab1 , tab2 , ... , tabn Sm
89 Set tab stops at column positions
90 .Ar tab1 , tab2 , ... , tabn .
91 If only a single number is given, tab stops are set that number of
92 column positions apart instead of the default number of 8.
93 .El
94 .Sh ENVIRONMENT
95 The
96 .Ev LANG , LC_ALL
97 and
98 .Ev LC_CTYPE
99 environment variables affect the execution of
100 .Nm
101 and
102 .Nm unexpand
103 as described in
104 .Xr environ 7 .
105 .Sh DIAGNOSTICS
106 .Ex -std expand unexpand
107 .Sh STANDARDS
108 The
109 .Nm
110 and
111 .Nm unexpand
112 utilities conform to
113 .St -p1003.1-2001 .
114 .Sh HISTORY
115 The
116 .Nm
117 command appeared in
118 .Bx 3.0 .