НАЗВАНИЕ
col - фильтрация кодов реверсной подачи бумаги
СИНТАКСИС
col [-b] [-f] [-p] [-x]
ОПИСАНИЕ
Команда col читает данные со стандартного ввода и записывает на стандартный вывод. Она выполняет наложение
строк, вызываемое реверсной подачей бумаги (код ESC 7),
а также прямой и реверсной подачей бумаги на полстроки
(коды ESC 9 и ESC 8). Команда col особенно полезна при
обработке многостолбцовых файлов.
Если задана опция -b, то считается, что устройство вывода не способно отработать команду возврата назад. В этом случае, если в одной позиции должно появиться два или больше символов, то в файл вывода заносится только последний из них.
Хотя команда col и распознает коды подачи бумаги на полстроки, она обычно не передает их в файл вывода. Вместо этого текст, который должен был бы появиться между строк, оказывается на следующей строке. Это действие команды можно подавить опцией -f (fine); тогда в файл вывода перепишутся коды подачи бумаги на полстроки вперед (ESC 9), но коды подачи назад будут все равно отброшены.
Чтобы сократить время печати, всюду, где это возможно, команда col преобразует цепочки пробелов в символы табуляции, если не задана опция -x.
Управляющие символы ASCII SO и SI (восьмеричные коды 017 и 016 соответственно) используются командой col для маркировки начала и конца текста альтернативного алфавита. Запоминается, какому алфавиту принадлежит прочитываемый символ, и в файл вывода в нужные места вставляются символы SO и SI, обеспечивающие печать в требуемом алфавите.
При вводе воспринимаются только следующие управляющие символы: пробел, возврат каретки на шаг назад, табуляция, возврат каретки, переход на новую строку, SI, SO, VT (код 013), ESC 7, ESC 8, ESC 9. Символ VT - другая форма кодировки реверсной подачи бумаги, включенная для совместимости с некоторыми ранними программами этого типа. Все остальные непечатные символы игнорируются.
Обычно команда col исключает все неопознанные управляющие последовательности, встретившиеся во входном файле; опция -p может быть использована для того, чтобы все такие последовательности передавались в файл вывода как обычные символы, подверженные наложению из-за реверсной подачи бумаги. Применение этой опции будет крайне обескураживающим, если пользователь не знает точного расположения в тексте управляющих последовательностей.
СЮРПРИЗЫ
Невозможен возврат более чем на 128 строк назад. Допускается до 800 символов в строке, включая символы возврата на шаг назад. Локальные движения по вертикали,
приводящие к переходу за первую строку документа, игнорируются. Поэтому в первой строке не должно содержаться
верхних индексов.