columns from a file
removes selected columns from the lines of a
file. Input is read from the standard input. Output is written to the standard
If only the start
column is specified, columns
numbered less than the start
column will be
written. If both start
columns are specified, columns numbered
less than the start
column or greater than
column will be written. Column
numbering starts with one, not zero.
Each character occupies the number of columns defined by
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
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
For compatibility with IEEE Std 1003.1-2008
, 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.
- The character encoding
locale(1). It decides which
byte sequences form 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
display width 1.
utility first appeared in
wrote the original version of
in November 1974.
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
style uses such