Comme tout le monde, j'ai quelques sorties colorisées dans mon bash. Je souhaite conserver la syntaxe colorisée lors de la copie d'un extrait dans un éditeur HTML par exemple. Existe-t-il un moyen de gérer cela?
Merci.
Si vous parlez de sortie colorisée de certains utilitaires de ligne de commande comme ls
, grep
, cmake
, git diff
, etc, s'il vous plaît noter qu'il n'a pas de relations à GNU Bash.
Quoi qu'il en soit, il existe plusieurs outils pour convertir la sortie colorisée avec des séquences d'échappement ANSI en HTML:
aha
du paquet du même nomansi2html
du module HTML :: FromANSI Perl (non emballé dans le repo Ubuntu, peut être installé à partir du CPAN)ansi2html.sh
par pixelb (non emballé, téléchargement depuis git)Leur utilisation est assez simple: ils lisent des séquences d'échappement de terminal stdin
et y mettent du HTML stdout
. Mais notez: la plupart des utilitaires ne colorisent pas la sortie si elle ne va pas au terminal. Vous devez les commander pour produire explicitement une sortie colorisée. Par exemple.:
$ ls --color=always | aha | xsel -i -b
xsel -i -b
ici copiera le HTML dans le presse-papiers.
aha
) a fonctionné à merveille; Merci beaucoup!git -c color.ui=always diff | aha > /tmp/diff.html && firefox /tmp/diff.html
... et oui je sais que l'OP voulait le html, mais beaucoup d'entre nous tomberont ici en voulant le formatage en général.Vous devez utiliser des bibliothèques javascript pour cela, vous ne pouvez pas directement copier / coller et conserver les couleurs telles quelles. Certaines des bibliothèques populaires pour cela sont:
Source: Question similaire sur SO
la source