COLRM(1)

NAME
colrm - remove columns from a file

SYNOPSIS
colrm [start [stop]]

DESCRIPTION
colrm removes selected columns from the lines of a file. Input is read from the standard input. Output is written to the standard output.

If only the start column is specified, columns numbered less than the start column will be written. If both start and stop columns are specified, columns numbered less than the start column or greater than the stop column will be written. Column numbering starts with one, not zero.

Each character occupies the number of columns defined by 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.

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.

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.

For compatibility with p1003.1-2008 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.

ENVIRONMENT

LC_CTYPE
    The character set locale(1). It decides which sequences of bytes are treated as characters, and what their display width is. If unset or set to "C", "POSIX", or an unsupported value, each byte except tab and backspace is treated as a character of width 1.

SEE ALSO
awk(1), column(1), cut(1), paste(1)

HISTORY
The colrm utility first appeared in 1BSD.

AUTHORS
Jeff Schriebman wrote the original version of colrm in November 1974.

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 roff(7) style uses such double-backspace sequences.