Печать цветного текста в файл
Я пытаюсь распечатать цветной текст в файл. Я знаю, что текстовые файлы не могут содержать цветной текст. Я хотел бы сохранить цвета вывода из моего сценария ниже.
Этот скрипт явно печатает на терминал в цвете.
#!/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
Запрошенное решение:
Я ищу либо тип файла, который я могу записать, который просто сохранит цвета вывода, либо способ преобразования этого типа вывода в возможно латекс или что-то еще. Если есть более простой способ сделать то, что я делаю, пусть я с удовольствием попробую!