xref: /freebsd/usr.bin/col/col.1 (revision 1e413cf93298b5b97441a21d9a50fdcd0ee9945e)
1.\" Copyright (c) 1990, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Michael Rendell.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgement:
17.\"	This product includes software developed by the University of
18.\"	California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"     @(#)col.1	8.1 (Berkeley) 6/29/93
36.\" $FreeBSD$
37.\"
38.Dd August 4, 2004
39.Dt COL 1
40.Os
41.Sh NAME
42.Nm col
43.Nd filter reverse line feeds from input
44.Sh SYNOPSIS
45.Nm
46.Op Fl bfhpx
47.Op Fl l Ar num
48.Sh DESCRIPTION
49The
50.Nm
51utility filters out reverse (and half reverse) line feeds so that the output is
52in the correct order with only forward and half forward line
53feeds, and replaces white-space characters with tabs where possible.
54This can be useful in processing the output of
55.Xr nroff 1
56and
57.Xr tbl 1 .
58.Pp
59The
60.Nm
61utility reads from the standard input and writes to the standard output.
62.Pp
63The options are as follows:
64.Bl -tag -width indent
65.It Fl b
66Do not output any backspaces, printing only the last character
67written to each column position.
68.It Fl f
69Forward half line feeds are permitted (``fine'' mode).
70Normally characters printed on a half line boundary are printed
71on the following line.
72.It Fl h
73Do not output multiple spaces instead of tabs (default).
74.It Fl l Ar num
75Buffer at least
76.Ar num
77lines in memory.
78By default, 128 lines are buffered.
79.It Fl p
80Force unknown control sequences to be passed through unchanged.
81Normally,
82.Nm
83will filter out any control sequences from the input other than those
84recognized and interpreted by itself, which are listed below.
85.It Fl x
86Output multiple spaces instead of tabs.
87.El
88.Pp
89The control sequences for carriage motion that
90.Nm
91understands and their decimal values are listed in the following
92table:
93.Pp
94.Bl -tag -width "carriage return" -compact
95.It ESC\-7
96reverse line feed (escape then 7)
97.It ESC\-8
98half reverse line feed (escape then 8)
99.It ESC\-9
100half forward line feed (escape then 9)
101.It backspace
102moves back one column (8); ignored in the first column
103.It carriage return
104(13)
105.It newline
106forward line feed (10); also does carriage return
107.It shift in
108shift to normal character set (15)
109.It shift out
110shift to alternate character set (14)
111.It space
112moves forward one column (32)
113.It tab
114moves forward to next tab stop (9)
115.It vertical tab
116reverse line feed (11)
117.El
118.Pp
119All unrecognized control characters and escape sequences are
120discarded.
121.Pp
122The
123.Nm
124utility keeps track of the character set as characters are read and makes
125sure the character set is correct when they are output.
126.Pp
127If the input attempts to back up to the last flushed line,
128.Nm
129will display a warning message.
130.Sh ENVIRONMENT
131The
132.Ev LANG , LC_ALL
133and
134.Ev LC_CTYPE
135environment variables affect the execution of
136.Nm
137as described in
138.Xr environ 7 .
139.Sh EXIT STATUS
140.Ex -std
141.Sh SEE ALSO
142.Xr colcrt 1 ,
143.Xr expand 1 ,
144.Xr nroff 1 ,
145.Xr tbl 1
146.Sh STANDARDS
147The
148.Nm
149utility conforms to
150.St -susv2 .
151.Sh HISTORY
152A
153.Nm
154command
155appeared in
156.At v6 .
157