col
は、逆方向への改行および半改行を取り除き、
通常の改行方向だけで出力可能なものに変換する。
同時に、可能な限り空白文字部分をタブに置き換える処理をする。
これは、
nroff 1
や
tbl 1
の出力を処理するのに役立つ。
col
は、データを標準入力から読み込み、標準出力に書き出す。
オプションとしては以下のものがある:
-tag -width -lnum
Fl b
バックスペースを出力しないようにする。
(訳註: 同じ箇所に複数の文字が書かれる場合は)
行中のその箇所に最後に書かれた文字だけを表示する。
Fl f
半改行を含めることを許可する (``fine'' モード)。
通常、行と行の境界に表示されることになる文字は、次の行に表示される。
Fl p
不明なコントロール文字を変更せずに表示する。
通常
col
は、以下に挙げるような認識・解釈できる
コントロール文字でなければ、その文字を入力から取り除く。
Fl x
タブのかわりに複数個の空白文字を出力する。
Fl l Ns Ar num
メモリ上に、少なくとも
num
行分をバッファする。
デフォルトでは 128 行分がバッファされる。
col
が認識する復帰動作のためのコントロール文字と、
その文字の 10 進数での値を以下の表に示す:
-tag -width carriage return -compact
ESC-7
逆方向に改行する (エスケープの後に 7)
ESC-8
逆方向に半改行する (エスケープの後に 8)
ESC-9
通常方向に半改行する (エスケープの後に 9)
backspace
逆方向に 1 カラム分戻す (8)。最初のカラムでは無視される
carriage return
行頭に復帰する (13)
newline
通常方向に改行する (10)。行頭への復帰も行う
shift in
通常の文字セットを選択する (15)
shift out
特別な文字セットを選択する (14)
space
通常方向に 1 カラム分に移動する (32)
tab
次のタブ位置へ移動する (9)
vertical tab
逆方向に改行する (11)
col が認識できないコントロール文字およびエスケープシーケンスは削除される。
col
は文字列を読み込みながら追って行き、
出力する際に正しいかを確認する。
すでに出力してしまった行を超えて戻るような逆改行の処理が入った場合、
col
は警告メッセージを表示する。