Как захватить вывод цветного терминала (ANSI) и записать его, сохраняя цвета

Мне нужно было захватить цветной вывод длительной программы командной строки, чтобы я мог легко поделиться ею с коллегами. Конкретно я бегу vagrant up, который генерирует красочный и полезный вывод, и мне нужно сохранить это в удобном формате. Мое лучшее решение до сих пор использует две программы, aha а также script, которые доступны в качестве основных пакетов.

aha принимает escape-последовательности ANSI и преобразует их в разметку HTML. script обманывает вашу программу, думая, что она выводится на экран, а не на STDOUT, что обычно отключает цвет для многих программ

Я запускаю свою команду в два этапа:

  1. script -q -c "vagrant up" temp.txt (-q удаляет статусные сообщения и -c рассказывает скрипт для запуска команды)
  2. cat temp.txt | aha --black > output.htm (--black флаг делает фон HTML темным)

Пока я очень счастлив, но, может быть, это можно объединить в одну строку? Какие-нибудь мысли? Или лучше команды, которые я мог бы использовать? Я в курсе питона ansi2html, но это казалось проще.

0 ответов

Другие вопросы по тегам