Como todos, tengo algunos resultados coloreados en mi bash. Quiero mantener la sintaxis coloreada cuando copio un extracto a un editor HTML, por ejemplo. ¿Hay alguna manera de manejar esto?
Gracias.
Si usted está hablando acerca de la salida coloreada de algunas utilidades de línea de comandos como ls, grep, cmake, git diff, etc, por favor nota, que no tiene ninguna relación a GNU Bash.
De todos modos, hay varias herramientas para convertir la salida coloreada con secuencias de escape ANSI a HTML:
aha del paquete del mismo nombreansi2htmlfrom HTML :: FromANSI Perl module (no incluido en el repositorio de Ubuntu, se puede instalar desde CPAN)ansi2html.shpor pixelb (no empaquetado, descarga desde git)El uso de todos ellos es bastante simple: leen secuencias de escape de terminal stdiny ponen HTML stdout. Pero tenga en cuenta: la mayoría de las utilidades no colorean la salida si no va a la terminal. Debe ordenarlos para que produzcan resultados coloreados explícitamente. P.ej.:
$ ls --color=always | aha | xsel -i -b
xsel -i -b aquí copiará HTML al portapapeles.
aha) funcionó maravillosamente; ¡muchas gracias!git -c color.ui=always diff | aha > /tmp/diff.html && firefox /tmp/diff.html... y sí, sé que el OP quería el html, pero muchos de nosotros tropezaríamos aquí queriendo El formateo en general.Necesita usar bibliotecas javascript para eso, no puede copiar / pegar directamente y mantener los colores como están. Algunas de las bibliotecas populares para esto son:
Fuente: Pregunta similar sobre SO
fuente