FSPEC(4)

НАЗВАНИЕ
fspec - спецификация формата текстового файла

ОПИСАНИЕ
Иногда бывает удобно хранить текстовые файлы ОС UNIX с нестандартной табуляцией (то есть табуляцией, не устанавливающей курсор в каждой восьмой позиции). Вообще говоря, такие файлы перед обработкой командами ОС должны быть преобразованы в стандартный формат, часто с заменой символов табуляции соответствующим количеством пробелов. Спецификация формата, встретившаяся в первой строке текстового файла, задает табуляцию в оставшейся части файла.

Спецификация формата представляет собой последовательность параметров, разделенных пробелами, заключенную в специальные скобки <: и :>. Каждый параметр состоит из ключевой буквы, сразу за которой может следовать число. Распознаются следующие параметры:

tразметка
Задание табуляции в файле. Значением разметки может быть:
  1. Список номеров позиций, разделенных запятыми.
  2. Символ -, за которым следует целое число n, задающее интервал табуляции.
  3. Символ -, за которым следует имя одного из фиксированных способов табуляции.
Стандартная табуляция задается как t-8 или t1,9,17,25, и т.д. Имена фиксированных способов табуляции перечислены в команде tabs(1).
sразмер
Задание максимальной длины строки. Значение размера должно быть целым. Проверка длины строки выполняется после расстановки табуляций, но до установки полей.
mполе
Задание количества пробелов (полей) в начале и в конце каждой строки. Значение поле должно быть целым.
d
Строка, содержащая спецификацию формата, должна быть удалена из преобразованного файла.
е
Текущий формат преобразования действует лишь до тех пор, пока в файле не встретится другая спецификация формата.

Значения параметров по умолчанию - t-8 и m0. Если не задан параметр s, проверка длины строк не производится. Если первая строка файла не содержит спецификации формата, действуют значения по умолчанию. Пример строки, содержащей спецификацию формата:


     *<:t5,10,15 s72:>*

Если спецификация формата выглядит как комментарий, то параметр d задавать не обязательно.

СМ. ТАКЖЕ
ed(1), newform(1), tabs(1) в Справочнике пользователя.