128 lines
4.4 KiB
Groff
128 lines
4.4 KiB
Groff
|
.\" $OpenBSD: colrm.1,v 1.10 2016/10/24 13:46:58 schwarze Exp $
|
||
|
.\" $NetBSD: colrm.1,v 1.3 1995/03/26 09:04:01 glass Exp $
|
||
|
.\"
|
||
|
.\" Copyright (c) 1980, 1990, 1993
|
||
|
.\" The Regents of the University of California. All rights reserved.
|
||
|
.\"
|
||
|
.\" Redistribution and use in source and binary forms, with or without
|
||
|
.\" modification, are permitted provided that the following conditions
|
||
|
.\" are met:
|
||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer.
|
||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||
|
.\" documentation and/or other materials provided with the distribution.
|
||
|
.\" 3. Neither the name of the University nor the names of its contributors
|
||
|
.\" may be used to endorse or promote products derived from this software
|
||
|
.\" without specific prior written permission.
|
||
|
.\"
|
||
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
|
.\" SUCH DAMAGE.
|
||
|
.\"
|
||
|
.\" @(#)colrm.1 8.1 (Berkeley) 6/6/93
|
||
|
.\"
|
||
|
.Dd $Mdocdate: October 24 2016 $
|
||
|
.Dt COLRM 1
|
||
|
.Os
|
||
|
.Sh NAME
|
||
|
.Nm colrm
|
||
|
.Nd remove columns from a file
|
||
|
.Sh SYNOPSIS
|
||
|
.Nm colrm
|
||
|
.Op Ar start Op Ar stop
|
||
|
.Sh DESCRIPTION
|
||
|
.Nm
|
||
|
removes selected columns from the lines of a file.
|
||
|
Input is read from the standard input.
|
||
|
Output is written to the standard output.
|
||
|
.Pp
|
||
|
If only the
|
||
|
.Ar start
|
||
|
column is specified, columns numbered less than the
|
||
|
.Ar start
|
||
|
column will be written.
|
||
|
If both
|
||
|
.Ar start
|
||
|
and
|
||
|
.Ar stop
|
||
|
columns are specified, columns numbered less than the
|
||
|
.Ar start
|
||
|
column
|
||
|
or greater than the
|
||
|
.Ar stop
|
||
|
column will be written.
|
||
|
Column numbering starts with one, not zero.
|
||
|
.Pp
|
||
|
Each character occupies the number of columns defined by
|
||
|
.Xr wcwidth 3 .
|
||
|
Zero-width characters belong to the previous column rather
|
||
|
than to the following column.
|
||
|
If deletion of half of a double-width character is requested,
|
||
|
its remaining half is replaced by a blank character.
|
||
|
Non-printable characters are treated as if they had width 1.
|
||
|
Each invalid byte is regarded as a non-printable character.
|
||
|
.Pp
|
||
|
Tab characters increment the input column count to the next multiple
|
||
|
of eight.
|
||
|
If they intersect or follow a deletion, they are expanded to blank
|
||
|
characters such that the original alignment is preserved.
|
||
|
.Pp
|
||
|
Backspace characters decrement the column count by the width of the
|
||
|
previous character.
|
||
|
If they follow a character that is completely or partially deleted,
|
||
|
they are deleted together with that character.
|
||
|
If they follow a character that is partially deleted,
|
||
|
they also suppress printing of the replacement blank character.
|
||
|
.Pp
|
||
|
For compatibility with
|
||
|
.St -p1003.1-2008
|
||
|
.Xr fold 1 ,
|
||
|
if a double-width character is followed by two backspace characters
|
||
|
instead of the usual one, both are regarded as belonging to that
|
||
|
character, and the second one does not decrement the column count.
|
||
|
.Sh ENVIRONMENT
|
||
|
.Bl -tag -width LC_CTYPE
|
||
|
.It Ev LC_CTYPE
|
||
|
The character encoding
|
||
|
.Xr locale 1 .
|
||
|
It decides which byte sequences form characters
|
||
|
and what their display width is.
|
||
|
If unset or set to
|
||
|
.Qq C ,
|
||
|
.Qq POSIX ,
|
||
|
or an unsupported value, each byte except tab and backspace is treated
|
||
|
as a character of display width 1.
|
||
|
.El
|
||
|
.Sh SEE ALSO
|
||
|
.Xr awk 1 ,
|
||
|
.Xr column 1 ,
|
||
|
.Xr cut 1 ,
|
||
|
.Xr paste 1
|
||
|
.Sh HISTORY
|
||
|
The
|
||
|
.Nm
|
||
|
utility first appeared in
|
||
|
.Bx 1 .
|
||
|
.Sh AUTHORS
|
||
|
.An Jeff Schriebman
|
||
|
wrote the original version of
|
||
|
.Nm
|
||
|
in November 1974.
|
||
|
.Sh BUGS
|
||
|
If two characters of different widths are followed by two backspace
|
||
|
characters in a row, the column count is decremented twice by the
|
||
|
width of the second character rather than by the sum of both widths.
|
||
|
This is hardly a practical problem because not even backspace
|
||
|
encoding in
|
||
|
.Xr roff 7
|
||
|
style uses such double-backspace sequences.
|