Я хочу сделать страницы руководства более толстыми. Однако мне не удалось это сделать.
Псевдокод того, чего я пытаюсь достичь
man man | lpr
Как можно распечатать руководство, чтобы вы сначала видели, сколько страниц будет напечатано?
man -Tps man | lpr
Это говорит человеку отформатировать вывод как файл postscript, который можно передать прямо на принтер. См. Дополнительную информацию о параметрах форматирования -T (troff) на странице руководства.
Чтобы предварительно просмотреть выходной файл, передайте его в файл и просмотрите его с помощью gv или okular.
man -Tps man > manual.ps
gv manual.ps
мужчина ls | col -b | lpr -P my_printer
Это распечатает страницу руководства для "ls", отформатирует ее с помощью "col", а затем распечатает на принтере с именем "my_printer"
Форматирование не требуется, но избавляет от специальных символов, упрощая чтение.
Более новые версии man (по крайней мере, моя версия на openSuSE 11 :)) автоматически определяют, является ли вывод терминалом или конвейером. Если вы хотите, чтобы неформатированные страницы руководства выводились на стандартный вывод, попробуйте:
man man | cat
Для страниц, отправляемых на принтер, мне нравятся:
man man | a2ps --stdin='man(1)'
Ответ на вопрос о количестве страниц выше (требуется 50 человек, чтобы добавить комментарии):
man ls | wc -l | awk '{ print $1/60 }'
По умолчанию количество строк на странице равно 60, поэтому, если вы не меняете это значение, просто разделите на 60 и округлите в большую сторону. Я забыл, как заставить awk обрабатывать FP как INT, чтобы округлить вас.