Форматирование (выравнивание) документов

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Форматирование (выравнивание) документов

Сообщение Stauffenberg »

Всем привет!

Может я ошибся разделом форума, поэтому приношу заранее свои извенения модераторам ;)

Периодически надо писать документы в текстовом формате (без форматирования) достаточно большого размера. Возникает проблема выравнивания по правому краю. Наверняка кто-то уже сталкивался с такой ситуацией. Как вы выравнивали текст? Оформляли ли вы его в другом формате, а затем конвертировали?

Например как тут

Спасибо за ответы/советы.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Форматирование (выравнивание) документов

Сообщение SLEDopit »

Код: Выделить всё

man -p t -l /path/to/file
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Форматирование (выравнивание) документов

Сообщение Stauffenberg »

SLEDopit писал(а):
20.03.2013 17:20

Код: Выделить всё

man -p t -l /path/to/file

Что делает ключ -l ?

У меня в CentOS 6.4 вылетает ошибка

Код: Выделить всё

man: invalid option -- 'l'
man, version 1.6f

Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Форматирование (выравнивание) документов

Сообщение SLEDopit »

Stauffenberg писал(а):
21.03.2013 16:13
Что делает ключ -l ?
из man man

Код: Выделить всё

-l, --local-file
          Activate `local' mode.  Format and display local manual files instead of searching through the system's manual
          collection.  Each manual page argument will be interpreted as an nroff  source file  in  the  correct  format.
          No cat file is produced.  If '-' is listed as one of the arguments, input will be taken from stdin.  When this
          option is not used, and man fails to find the page required, before displaying the error message, it attempts
          to act as if this option was supplied, using the name as a filename and looking for an exact match.

вероятно проблема в том, что в centos используется другой man (их 2, емнип 1 и 2 ). Вот у меня второй, а в центосе - первый.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Форматирование (выравнивание) документов

Сообщение Stauffenberg »

Ок, спасибо SLEDopit. Значит надо обновить/пересобрать man.

Но наверняка есть и другие способы?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Форматирование (выравнивание) документов

Сообщение eddy »

man fold

А еще см ЛОР

P.S. Если бы мне такое нужно было, написал бы — подобное даже в примерах у K&R валялось.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Форматирование (выравнивание) документов

Сообщение Stauffenberg »

eddy писал(а):
22.03.2013 14:23
А еще см ЛОР

Ok, пока обошелся обычным выравниванием:

Код: Выделить всё

fold -s -w 80 file | less


Надо будет опробовать также метод с помощью emacs, да и с vim (под CentOS у меня не получилось пока завести :%call Justify('tw',4))
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Форматирование (выравнивание) документов

Сообщение eddy »

Stauffenberg, за время существования этой темы уже можно было написать свою выравнивалку текстов с преферансом и гимназистками!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Форматирование (выравнивание) документов

Сообщение Stauffenberg »

eddy писал(а):
22.03.2013 18:31
Stauffenberg, за время существования этой темы уже можно было написать свою выравнивалку текстов с преферансом и гимназистками!

Вы правы. Особенно на счет гимназисток. Но дело в том, что оформление документации для проекта, над которым я сейчас работаю, имеет слишком низкий приоритет по сравнению с самим проектом, т.е. функциональностью, кодом и ошибками в нем.
Как только я буду удовлетворен функциональностью проекта, я доведу до конца и вопрос с гимназ... с документацией, используя накопившийся в этой теме материал.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Форматирование (выравнивание) документов

Сообщение eddy »

Stauffenberg, я еще на stackoverflow нашел ответ на подобный вопрос: http://superuser.com/questions/171616/how-...n-text-in-linux
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Форматирование (выравнивание) документов

Сообщение t.t »

SLEDopit писал(а):
20.03.2013 17:20

Код: Выделить всё

man -p t -l /path/to/file
Ещё можно ширину регулировать:
t.t писал(а):
21.02.2011 08:02
{ echo ".TH Заголовок"; cat файл; } | MANWIDTH=20 man -p t -l - >файл2


Ещё оттуда же насчёт манов:
/dev/random писал(а):
21.02.2011 20:42
По поводу манов. Есть две достаточно популярные в линукс-дистрибутивах реализации команды man:
1) http://primates.ximian.com/~flucifredi/man/
2) http://www.nongnu.org/man-db/
Как правило, в дистрибутивах доступны обе, но по-умолчанию в debian ставится вторая, а в gentoo - первая. Отсюда и несоответствие опций.
/dev/random писал(а):
21.02.2011 22:08
t.t писал(а):
21.02.2011 21:49
Но у первой, наверное, тоже есть возможность отформатировать произвольный файл и, в частности, стандартный ввод?
Произвольный файл - без проблем. Достаточно, чтобы в имени присутствовал символ '/'. Стандартный ввод - не пробовал (и сейчас не попробую, я давно поставил себе второй вариант), но, наверное, сработает /dev/stdin
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: