С помощью команды примера
man apropos > outputfile
генерируется текстовый файл, который содержит отформатированную manстраницу apropos(с некоторыми небольшими отличиями по сравнению с man aproposнепосредственно напечатанными на экране, такими как жирные символы).
Но я бы хотел вручную установить максимальную ширину строки сгенерированного выходного файла, чтобы все абзацы были выровнены по этой ширине.
manстраницы создаются с помощью groff: например, я пытался поставить .ll 50перед абзацем исходного .gz manисходного текстового файла, но это тривиально, если мне нужно работать на нескольких manстраницах. Причем не все персонажи распознаются:
apropos.1:45: warning: can't find character with input code 195
apropos.1:45: warning: can't find character with input code 168
apropos.1:47: warning: can't find character with input code 178
apropos.1:131: warning: can't find character with input code 169
Итак, мне интересно, существует ли более простой метод. Как изменить максимальную ширину линии при создании outputfile? Есть ли какая-то конкретная команда?
Редактировать :
(Все следующие соображения касаются Ubuntu 18.04: я больше не могу тестировать их в предыдущих версиях, включая 14.04 из приведенного выше вопроса.)
Что касается временного решения, состоящего из одной строки, если оно MANWIDTHеще не было экспортировано с пользовательским значением, разницы между
$ MANWIDTH=60 man apropos > outputfile
и
$ COLUMNS=60 man apropos > outputfile
Первый, использующий MANWIDTH, однако лучше в принципе.
Изменить 2 (не строго связано с вопросом):
Чтобы вместо этого установить постоянную ширину для любой печати man-страницы, необходимо экспортировать требуемое значение переменной. С:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man aproposбудет напечатан с одинаковой шириной независимо от изменения размера окна терминала. Вместо,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
будет обеспечивать тот же результат, что и раньше, только если размер окна терминала не изменяется между exportи man <page> > outputfile.
man man2.6.7.1). Страница руководства на итальянском языке, и это UTF-8. Что вы подразумеваете под языком?
locale? а locale charmap?
localeвыходные данные: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8" locale charmapвыходные данные:UTF-8
lessпотому что TERMне установлен. Я имел ввиду env -i LANG=it_IT.UTF-8 man apropos > output(или | head).
input codeошибки,195 168может быть, в UTF-8. Справочная страница на английском? Какая у тебя мужская реализация? Какой у тебя язык?