Это escape-коды ANSI, но вы сталкиваетесь с тремя проблемами:
кодировка символов, как вы подозреваете — большинство этих файлов в CP437, поэтому вам нужно их конвертировать:
iconv -f CP437
(используйте опцию -t
, если вам нужно указать целевую кодировку; по умолчанию iconv
будет соответствовать кодировке символов текущей локали );
цветовая схема — эти файлы обычно предполагают что-то похожее на цветовую схему CGA/EGA/VGA, используемую на ПК; эмуляторы терминала обычно позволяют вам выбрать цветовую схему (или переопределить цвета вручную ), например, GNOME Terminal имеет встроенную «консоль Linux» -в схеме, которая хорошо работает для ANSI-арта;
размер экрана — в большинстве рисунков ANSI предполагается ширина экрана в 80 столбцов, и предполагается, что они охватывают этот размер.
Как только вы все это исправите, вам не понадобится специальный просмотрщик; вот скриншот, показывающий вывод aa-neurodancer.ans
в терминале GNOME после преобразования кодировки символов:
В нижней части снимка экрана показана запись файла SAUCE :
.
(Ansilove может расшифровать для вас записи SAUCE.)
Переменные в двойных кавычках раскрываются сразу, поэтому нужно заключать в одинарные кавычки команду (или хотя бы часть с переменной):
$ alias cc='echo "$PWD"'
$ cd "$(mktemp --directory)"
$ cc
/tmp/tmp.9OuF0ZAE1b
В любом случае использование функции вместо позволяет избежать таких проблем.