Bash: цветная копия / паста

Как и у всех, у меня есть несколько раскрашенных выводов в моем bash. Я хочу сохранить раскрашенный синтаксис, например, при копировании выдержки в редактор HTML. Есть ли способ справиться с этим?

Спасибо.

12
задан 22 December 2013 в 10:51

2 ответа

Если вы говорите о цветном выводе некоторых утилит командной строки, таких как ls, grep, cmake, git diff и т. Д., Обратите внимание, что они не имеют никакого отношения к GNU Bash.

В любом случае, существует несколько инструментов для преобразования выходных данных, раскрашенных с помощью escape-последовательностей ANSI, в HTML:

  • aha из одноименного пакета
  • ansi2html из HTML :: FromANSI Модуль Perl (не упакован в репозиторий Ubuntu, может быть установлен из CPAN)
  • ansi2html.sh от pixelb (не упакован, скачать с git)

Использование всех их довольно просто: они читают escape-последовательности терминала из stdin и помещают HTML в stdout. Но обратите внимание: большинство утилит не раскрашивают вывод, если он не собирается на терминал. Вы должны заказать их, чтобы произвести цветной вывод явно. E. g.:

$ ls --color=always | aha | xsel -i -b

xsel -i -b здесь скопирует HTML в буфер обмена.

0
ответ дан 22 December 2013 в 10:51

Для этого вам нужно использовать библиотеки javascript, вы не можете напрямую копировать / вставлять и сохранять цвета такими, какие они есть. Вот некоторые из популярных библиотек:

Источник: Аналогичный вопрос по SO

0
ответ дан 22 December 2013 в 10:51

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

Похожие вопросы: