З командою example
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 (не суворо пов'язане з питанням):
Щоб зробити замість постійної ширини параметр, який слід застосувати до будь-якого друку сторінки, необхідно експортувати потрібне значення змінної. З:
$ 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 man
2.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. Чи є сторінка man англійською? Яка ваша реалізація чоловіка? Яка ваша мова?