7.8 fmt - Форматировать текст contents

7.8 fmt - Форматировать текст

Программа fmt вводит текст, производит простое форматирование, которое в основном заключается в наиболее полном заполнении строк.

Использование программ:
fmt [option]... [file]...
Программа читает текст либо из файла, либо со стандартного устройства ввода, а выводит сформированный текст на стндартное устройство вывода. По умолчанию, пустые строки, пробелы между словами и пустые места в начале строк сохраняются и на выводе. Вводимые строки с пробелами в начале строк не объединяются. Знаки табуляции TAB расширяются обычным образом при вводе и используются затем при выводе.

Программа fmt предпочитает разбивать строки в конце предложения. Она пытается избежать разрыва строки после первого слова предложения и перед последним словом предложения. Конец предложения определяется как одно из двух наступивших условий:

  • дистигнут конец параграфа, т.е. встречена пустая строка или занк NL;

  • слово закончилось одним из знаков: .?! - точка, воросительный знак, восклицательный знак, за которыми следует два пробела или конец строки. Алгоритм разбиения параграфа на строки является вариантом алгоритма описанного в статье Breaking Paragraphs Into Lines (авторы: Donald E. Knuth and Michael F. Plass, журнал Software-Practice and Experience, 11 (1981), 1119-1184).

Программа воспринимает следующие параметры:

-c
-crown-margin
Сохранить без изменения сдвиги первых двух строк параграфов и выровнять левый край всех последующих строк параграфа по левому краю второй строки параграфа.

-t
-tagged-paragraph
Этим параметорм устанвливается режим форматирования tagged-paragraph. Этот режим похож на режим crown-margin исключая то, что если сдвиг первой строки параграфов тот же самый, что сдвиг второй строки параграфа, то первая строка обарбатывается как однострочный параграф.

-s
-split-only
Только разделять строки. Не═объединять короткие строки, чтобы сформировать более длинные.

-u
-uniform-spacing
Унифицировать пробелы. Уменьшить число пробелов между словами до одного пробела, а число пробелов между предложениями именьшить до двух пробелов.

-width
-w width
-width=width
Заполнить выводные строки до ширины width (умолчание 75).

-p prefix
-prefix=prefix
Форматированию будут подвергнуты только строки, которым предшествует prefix (перед ним могут быть пробелы). Сам prefix и взможно предшествующие ему пробелы будут удалены из строки перед форматированием. После выполнения форматирования, при выводе результата в начало сформатированных строк будет помещ©н prefix.

Одно из полезных применений данного параметра - форматирование программных комментариев. Следует лишь иметь в виду, что если вы планируете отформатировать комментарии скриптов, то знак комментария полезно задать в кавычках, например,
fmt -p "#" script


contents
Обновлено: 16.03.2015