egorius: (Default)
[personal profile] egorius

Пребываю в тихом шоке. На дворе вроде XXI век, а для линукса нет стандартного форматтера, который подровнял бы текст под заданную ширину, и при этом работал бы с UTF-8.

По возможностям меня прекрасно устраивает fmt, но он русские буквы считает за две. Вроде бы par должен уметь UTF-8, но взятый из репозитория Убунты с этим тоже не справился.

Как же так? Наверное, я просто чего-то не знаю?

Date: 2016-12-23 09:22 pm (UTC)
From: [identity profile] pigdeon.livejournal.com
Сдается мне, что это [опять] желание странного(тм). Используй текстовый редактор, или браузер, например.

Date: 2016-12-23 11:36 pm (UTC)
From: [identity profile] egorius.livejournal.com
Мне надо унутре скрипта это сделать. И наличие fold, fmt и прочего говорит о том, что не такое уж это и странное желание. Но не поддерживать в наше время UTF?..

Date: 2016-12-24 06:29 am (UTC)
From: [identity profile] hardsign.livejournal.com
Locale правильно выставлена?

Date: 2016-12-24 06:31 am (UTC)
From: [identity profile] hardsign.livejournal.com
Ну, и если всё правильно, "а включаешь - не работает", используй iconv

Date: 2016-12-24 07:07 am (UTC)
From: [identity profile] electrodyssey.livejournal.com
Ой до чего же интерсно! Предлагаю "админовский" путь решения, смешной, но вроде рабочий, у меня заработало на убунту 16.04.

cat russian_utf8article.txt | iconv -f utf-8 -t cp1251 | par w80 | iconv -f cp1251 -t utf-8 > output.txt

Подсмотрел в интернете, кто-то видимо уже успел побиться фейсом о тейбл:
http://vim.wikia.com/wiki/Par_text_reformatter

Date: 2016-12-24 08:46 am (UTC)
From: [identity profile] d-byzero.livejournal.com
А и правда! Остроумный вариант!
(Я, правда, тоже не очень понимаю, зачем в XXI веке нужно так текст форматировать ;-))

Date: 2016-12-24 08:56 am (UTC)
From: [identity profile] egorius.livejournal.com
Дык, именно так пока и пришлось сделать, но такой костыль!..

Date: 2016-12-24 08:59 am (UTC)
From: [identity profile] egorius.livejournal.com
Ну, пока не научились передавать мысли на расстоянии, форматирование текста иногда пригождается (:
Edited Date: 2016-12-24 09:00 am (UTC)

Date: 2016-12-24 09:09 am (UTC)
From: [identity profile] egorius.livejournal.com
Выставлена, да.
Ну iconv-то понятно, его и прикрутил, но XXI век!

Date: 2016-12-24 09:28 am (UTC)
From: [identity profile] hardsign.livejournal.com
Как тут выше товарищи отметили, в XXI веке есть xml, html, docx, odt... И вдруг форматирование текста?

Date: 2016-12-24 10:35 am (UTC)
From: [identity profile] electrodyssey.livejournal.com
зато работает, а пурист бы написал патч под par, но лень матушка :)

Date: 2016-12-24 10:44 am (UTC)
From: [identity profile] egorius.livejournal.com
Патч вроде как уже давно написан и лежит на просторах, но собирать это руками и таскать потом за собой неохота.

Date: 2016-12-24 10:49 am (UTC)
From: [identity profile] egorius.livejournal.com
Задача специфическая, для учебных курсов. Мне надо показывать, как работают всякие команды. Чтобы не набирать их руками в консольке, сделан скрыпт, который в нужных местах делает паузу. Ну и комментарии надо выводить тоже, чтобы самому не забыть, о чем речь. И вот комментарии я хочу аккуратно форматировать перед выводом.

Date: 2016-12-24 10:28 pm (UTC)
From: [identity profile] electrodyssey.livejournal.com
:) да, понимаю

Date: 2016-12-25 02:55 pm (UTC)
From: [identity profile] d-byzero.livejournal.com
Я какбэ догадываюсь. Но в наш век пропорциональных шрифтов, когда символ '\n' отмечает конец абзаца...

Date: 2016-12-25 05:56 pm (UTC)
From: [identity profile] egorius.livejournal.com
В консольке-то все моноширинное даже в наш век. Мне на консоль надо текст выводить изнутри скрипта, в режиме живой демонстрации.

Date: 2016-12-25 08:56 pm (UTC)
From: [identity profile] d-byzero.livejournal.com
Да я уж понял

Profile

egorius: (Default)
egorius

September 2025

M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 16th, 2026 09:11 pm
Powered by Dreamwidth Studios