[BACK]Return to colrm.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / colrm

Annotation of src/usr.bin/colrm/colrm.1, Revision 1.9

1.9     ! schwarze    1: .\"    $OpenBSD: colrm.1,v 1.8 2011/12/28 22:27:18 schwarze Exp $
1.1       deraadt     2: .\"    $NetBSD: colrm.1,v 1.3 1995/03/26 09:04:01 glass Exp $
                      3: .\"
                      4: .\" Copyright (c) 1980, 1990, 1993
                      5: .\"    The Regents of the University of California.  All rights reserved.
                      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.
1.6       millert    15: .\" 3. Neither the name of the University nor the names of its contributors
1.1       deraadt    16: .\"    may be used to endorse or promote products derived from this software
                     17: .\"    without specific prior written permission.
                     18: .\"
                     19: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     20: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     21: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     22: .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     23: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     24: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     25: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     26: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     27: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     28: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     29: .\" SUCH DAMAGE.
                     30: .\"
                     31: .\"     @(#)colrm.1    8.1 (Berkeley) 6/6/93
                     32: .\"
1.9     ! schwarze   33: .Dd $Mdocdate: December 28 2011 $
1.1       deraadt    34: .Dt COLRM 1
1.4       aaron      35: .Os
1.1       deraadt    36: .Sh NAME
                     37: .Nm colrm
                     38: .Nd remove columns from a file
                     39: .Sh SYNOPSIS
                     40: .Nm colrm
                     41: .Op Ar start Op Ar stop
                     42: .Sh DESCRIPTION
1.5       aaron      43: .Nm
1.1       deraadt    44: removes selected columns from the lines of a file.
                     45: Input is read from the standard input.
                     46: Output is written to the standard output.
                     47: .Pp
                     48: If only the
                     49: .Ar start
                     50: column is specified, columns numbered less than the
                     51: .Ar start
                     52: column will be written.
                     53: If both
                     54: .Ar start
                     55: and
                     56: .Ar stop
                     57: columns are specified, columns numbered less than the
                     58: .Ar start
                     59: column
                     60: or greater than the
                     61: .Ar stop
                     62: column will be written.
                     63: Column numbering starts with one, not zero.
                     64: .Pp
1.9     ! schwarze   65: Each character occupies the number of columns defined by
        !            66: .Xr wcwidth 3 .
        !            67: Zero-width characters belong to the previous column rather
        !            68: than to the following column.
        !            69: If deletion of half of a double-width character is requested,
        !            70: its remaining half is replaced by a blank character.
        !            71: Non-printable characters are treated as if they had width 1.
        !            72: Each invalid byte is regarded as a non-printable character.
        !            73: .Pp
        !            74: Tab characters increment the input column count to the next multiple
        !            75: of eight.
        !            76: If they intersect or follow a deletion, they are expanded to blank
        !            77: characters such that the original alignment is preserved.
        !            78: .Pp
        !            79: Backspace characters decrement the column count by the width of the
        !            80: previous character.
        !            81: If they follow a character that is completely or partially deleted,
        !            82: they are deleted together with that character.
        !            83: If they follow a character that is partially deleted,
        !            84: they also suppress printing of the replacement blank character.
        !            85: .Pp
        !            86: For compatibility with
        !            87: .St -p1003.1-2008
        !            88: .Xr fold 1 ,
        !            89: if a double-width character is followed by two backspace characters
        !            90: instead of the usual one, both are regarded as belonging to that
        !            91: character, and the second one does not decrement the column count.
        !            92: .Sh ENVIRONMENT
        !            93: .Bl -tag -width LC_CTYPE
        !            94: .It Ev LC_CTYPE
        !            95: The character set
        !            96: .Xr locale 1 .
        !            97: It decides which sequences of bytes are treated as characters,
        !            98: and what their display width is.
        !            99: If unset or set to
        !           100: .Qq C ,
        !           101: .Qq POSIX ,
        !           102: or an unsupported value, each byte except tab and backspace is treated
        !           103: as a character of width 1.
        !           104: .El
1.1       deraadt   105: .Sh SEE ALSO
                    106: .Xr awk 1 ,
                    107: .Xr column 1 ,
                    108: .Xr cut 1 ,
                    109: .Xr paste 1
                    110: .Sh HISTORY
                    111: The
1.5       aaron     112: .Nm
1.8       schwarze  113: utility first appeared in
                    114: .Bx 1 .
                    115: .Sh AUTHORS
                    116: .An Jeff Schriebman
                    117: wrote the original version of
                    118: .Nm
                    119: in November 1974.
1.9     ! schwarze  120: .Sh BUGS
        !           121: If two characters of different widths are followed by two backspace
        !           122: characters in a row, the column count is decremented twice by the
        !           123: width of the second character rather than by the sum of both widths.
        !           124: This is hardly a practical problem because not even backspace
        !           125: encoding in
        !           126: .Xr roff 7
        !           127: style uses such double-backspace sequences.