Division Byzero (d_byzero) wrote,
Division Byzero
d_byzero

Досуг Программиста или Как Это Делается

В архивах обнаружил текстовые файлы 10+ -летней давности. Решил привести их к виду, неудобному для логарифмирования удобному для редактирования.

Тексты из Лексикона (в судии еще кто-нибудь помнит этот продукт?), форматированные по ширине, а это значит:
- DOS-кодировка;
- каждая строка заканчивается "переводом строки";
- Абзац начинается с пробелов ("красная строка");
- Количество пробелов между словами непредсказуемо.

Хорошо хоть "переносов" нет.

Надо:
- кодировка cp1251
- абзац заканчивается "переводом строки", начинается с печатного символа, внутри только пробелы.
- между словами один пробел.

Существует минимум три стратегии решения задачи:
1. Открыть файл в "Ворде" (перекодирует он правильно), дальше все ручками, заодно тащась от содержимого. Занимает где-то Y часов. Недостаток: долго.
2. Открыть файл в "Ворде", и несколькими сериями контекстных замен привести текст к надлежащему виду. Занимает X часов, где X << Y. Недостаток: если файлов несколько, то все-таки не очень быстро, а файлов несколько.
3. Написать текстовый фильтр (занимает где-то 0.99X часов), что позволит конвернуть все сразу за 0.01X часов.Коэффициенты подобраны с оптимизмом, да, я осознаю, что может получиться не быстрее, чем вар.2. Но я иду этим путем. В частности, люблю я писать всякие штуки по обработке текстов.

Но. На своем ноуте я так и не удосужился поставить ни один подоконный компилятор. Потому как давно работаю в Пингвинуксе. А в Пингвинуксе С и С++ компилятор -- это как руль в автомобиле -- снять можно, но вообще-то он там всегда есть.

Итак, последовательность действий:
- Загрузить Пингвинукс
- Подмонтировать подоконный диск
- Переписать файлы
- Перекодировать в koi-8
- Написать фильтр
- Убедиться, что не работает
- Отладить
- Обработать файлы фильтром
- Перекодировать в cp1251
- переписать их обратно на подоконный диск
- вспомнить, что Пингвинукс не умеет писать в NTFS, подоконная утилита доступа к подпингвинным дискам осталась на работе
- переписать файлы на флэшку
- загрузить Окна
- прочитать файлы с флэшки.

Да, вар.2, наверное, короче. Но это скучно...
Tags: Досуг
Subscribe

  • Сказочка

    В некотором царстве, в некотором государстве, в большом-большом городе стоит маленький замок. Замок обнесен неприступной стеной. В центре замка…

  • Галопом по Европам - 5. Вроцлав. Фото

    Во Вроцлаве мы в этот раз останавливались на "две ночи", то есть 24 июля прибыли, 26 июля дальше поехали, а 25 июля целый день гуляли по городу,…

  • Галопом по Европам - 5. Вроцлав. Памятник Николаю Копернику

    Не то, чтоб я был большой фанат памятников. Г-на Коперника я очень уважаю, но не стремлюсь немедленно запечатлеть любое его изображение. Но тут мне…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 17 comments

  • Сказочка

    В некотором царстве, в некотором государстве, в большом-большом городе стоит маленький замок. Замок обнесен неприступной стеной. В центре замка…

  • Галопом по Европам - 5. Вроцлав. Фото

    Во Вроцлаве мы в этот раз останавливались на "две ночи", то есть 24 июля прибыли, 26 июля дальше поехали, а 25 июля целый день гуляли по городу,…

  • Галопом по Европам - 5. Вроцлав. Памятник Николаю Копернику

    Не то, чтоб я был большой фанат памятников. Г-на Коперника я очень уважаю, но не стремлюсь немедленно запечатлеть любое его изображение. Но тут мне…