Эти команды перераспределяют содержимое файла.
Утилита `fmt' преобразует и сливает строки для получения выходных строк (не более) данной длины (75 символов по умолчанию).
Общая запись:
fmt [OPTION]... [FILE]...
`fmt' последовательно считывает файлы, указанные в качестве
аргументов FILE, и выводит их после обработки в стандартный вывод.
Если имя файла не указано, или в качестве одного из аргументов задан
минус '-', `od' считывает данные из стандартного ввода.
По умолчанию, пустые строки, пробелы между словами и отступ вправо сохраняются на выходе; последовательные строки с различными отступами вправо не сливаются; табуляция на входе преобразуется в пробелы, а на выходе происходит обратный процесс.
`fmt' предпочитает разрывать строку в конце предложения и пытается избежать разрыва после первого слова или перед последним словом предложения. Конец предложкния определяется либо как слово оканчивающееся на ".?!" с последующими двумя пробелами, либо как конец абзаца, либо как конец строки, игнорируя любые скобки и кавычки. Так же, как и TeX, `fmt' читает целый абзац перед тем как разбивать строки, а принцип разбиения такой же, как в книге "Разбиение абзаца на строки" (Дональд Кнут и Майкл Пласс, 'Breaking Paragraphs Into Lines', `Software--Practice and Experience', 11 (1981), 1119-1184).
Утилита воспринимает следующие опции (см. так же главу 2 'Общие Опции'):
Режим "Обработка края": сохраняется отступ первых двух строк абзаца, и выравниваются левые края всех остальных строк по левому краю второй строки.
Режим "Распознавание абзаца": аналогично режиму обработки края, но если отступы первой и второй строк совпадают, то первая строка воспринимается как однострочный абзац.
Только разбивает строки. Преобразует строки, которые были неправильно сформированны.
Преобразует пробелы между словами в один пробел, а пробелы между предложениями в два пробела.
Пытается нарастить выходную сроку до WIDTH символов (по умолчанию 75). Но сначала `fmt' составляет строку примерно на 7% короче, чтобы оставить место для баланса.
Формируются только строки начинающиеся с PREFIX (возможно с пробела или с табуляции). Но строка обрабатывается без учета PREFIX. Это можно использовать для преобразования определенных видов программных комментариев, оставляя текст программы неизменным.
Утилита `pr' последовательно считывает файлы, указанные в качестве аргументов FILE, и выводит их виде (не обязательно) нескольких колонок в стандартный вывод, с пронумерованными страницами. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `pr' считывает данные из стандартного ввода.
Общая запись:
pr [OPTION]... [FILE]...
По умолчанию, 5-ти строчный заголовок выводится так: две пустые
строки; строка с датой, именем файла и номером страницы; и еще две
пустых строки. Пять строк хвоста выводятся так же.
Утилита воспринимает следующие опции (см. так же главу 2 'Общие Опции'):
Начнает вывод со страницы PAGE.
Выводит COLUMN колонок. Если Вы не используете опцию `-w' для увеличения ширины страницы, ширина колонок автоматически уменьшается при увеличении числа колонок.
Выводит колонки поперек вместо того чтобы выводить их вдоль.
Выравнивает колонки на последней странице.
Выводит контрольные символы используя `^', а другие неграфические символы в восьмеричном предсавлении с предстоящей '\'. По умолчанию, неграфические символы не изменяются.
Выводит двойные пробелы.`-e[IN-TABCHAR[IN-TABWIDTH]]' На входе преобразует табуляцию в пробелы. Необязательный аргумент IN-TABCHAR воспринимается как входной символ табуляции (по умолчанию ТАВ). Второй необязательный аргумент IN-TABWIDTH обозначает количество пробелов в этой табуляции (по умолчанию 8).
Использует символ перевода формата вместо символа перевода строки.
Заменяет имя файла в заголовке на HEADER.`-i[OUT-TABCHAR[OUT-TABWIDTH]]' Заменяет пробелы на табуляцию на выходе. Необязательный аргумент OUT-TABCHAR воспринимается как выводимый символ табуляции (по умолчанию ТАВ). Второй необязательный аргумент OUT-TABCHAR обозначает количество пробелов в этой табуляции (по умолчанию 8).
Определяет длину страницы в N строк (по умолчанию 66). Если N меньше 10, заголовок и хвост опускаются, как при опции `-t'.
Выводит файлы параллельно в различные колонки.
Ставит номер строки перед каждой колонкой, а при параллельном выводе (`-m'), перед каждой строкой. Необязательный аргумент NUMBER-SEPARATOR отделяет номер от текста (по умолчанию TAB). А необязательный аргумент DIGITS задает число цифр используемых для номера (по умолчанию 5).
Устанавливает общий (для каждой строки) отступ слева на N пробелов (по умолчанию 0).Тогда общая ширина страницы будет N плюс ширина устанавливаемая опцией `-w'.
Не выводит предупреждающее сообщение если один из аргументов FILE не открыт. Но, выходной статус будет ненулевым.
Разделяет колонки символом C. Если C опущено, то пробелом; если опущена опция вообще, то TAB.
Подавляется вывод заголовока и хвоста. Опция `-f' при этом теряет свое значение.
Выводит неграфические символы в восьмеричном представлении с предстоящей обратной косой черой.
Устанавливает ширину страницы в N (по умолчанию 72) символов.
Утилита `fold' последовательно считывает файлы, указанные в качестве аргументов FILE, и выводит их в стандартный вывод, разбивая длинные строки. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `fold' считывает данные из стандартного ввода.
Общая запись:
fold [OPTION]... [FILE]...
По умолчанию, `fold' разбивает строки содержащие более 80
символов, при чем на столько строк на сколько необходимо.
`fold' подсчитывает число символов строки (TAB воспринимается как несколько пробелов), но символ "забой" уменьшает счетчик.
Утилита воспринимает следующие опции (см. так же главу '2 Общие Опции'):
Подсчитывает байты вместо символов, т.ч. символы табуляции, забоя и перевода каретки неотличимы от остальных символов.
Разбиение производится на границе слова, т.е. строка разбивается на последнем пробеле перед максимальным числом смволов. Если строка не содержит таких пробелов, то она разбивается как обычно.
Устанавливает максимальную длину равной WIDTH, вместо 80.