Печать цветного текста в файл

Я пытаюсь распечатать цветной текст в файл. Я знаю, что текстовые файлы не могут содержать цветной текст. Я хотел бы сохранить цвета вывода из моего сценария ниже.

Этот скрипт явно печатает на терминал в цвете.

#!/usr/bin/perl 

use strict;
use warnings;

my $inputfile = $ARGV[0];

open (INPUTFILE, "<", $inputfile) or die $!;

my @data = <INPUTFILE>;

use Term::ANSIColor;
###
for (my $line = 0; $line <= $#data; ++$line) {  
   chomp $data[$line];
   if ($data[$line] !~ m/PDBID/) {   file.
   my @splitfast = (split//, $data[$line]);
      for (@splitfast) {
        #print "$_ \n"; Debug
        if ($_ =~ m/R|H|K/) {
           print color ('red');
           print "$_";
           print color('reset');
        } elsif ($_ =~ m/D|E/) {
           print color ('blue');
           print "$_";
           print color('reset');
        } else {
        print "$_";
        }


      }


 }

ВХОД:

GQDLKMDCKEYNYDKS

ВЫХОД в Терминале:

Я получаю ту же строку, что и состояния INPUT, но все буквы R, H и K красные, а буквы D и E синие.

ВЫХОД в простом старом текстовом файле:

GQ^[[34mD^[[0mL^[[31mK^[[0mM^[[34mD^[[0mC^[[31mK^[[0m^[[34mE^[[0mYNY^[[34mD^[[0m^[[31mK^[[0mS

Запрошенное решение:

Я ищу либо тип файла, который я могу записать, который просто сохранит цвета вывода, либо способ преобразования этого типа вывода в возможно латекс или что-то еще. Если есть более простой способ сделать то, что я делаю, пусть я с удовольствием попробую!

0 ответов

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