Преобразуйте экранный журнал в HTML

Нет. это, вероятно, не будет работать. Это больше, в чем Вы нуждаетесь. Начальная загрузка от LiveCD. создает и монтирует, что начальная загрузка / Переустанавливает пакеты личинки и ядро. Какое распределение Вы используете?

3
22.09.2013, 11:58
1 ответ

Проблема не в вашем Perl-скрипте (который должен быть ненужным), а в ansi2html , который является неполным.

Файл журнала показывает, что что-то напечатало какой-то текст, а затем

  • неоднократно добавлял escape-последовательность для очистки оставшейся части строки \ E [K
  • , попеременно добавляя обратный пробел.

В ansi2html сценарий находит escape-последовательности, а затем игнорирует все, кроме некоторых из найденных, например,

self.ansi_codes_prog = re.compile ('\ 033 \\\ ['' (\ [\\ d; \] *) '' (\ [a-zA-z \]) ')

если команда не в' mMA ':

Избавление от повторяющегося материала является самое простое в петле. Вот альтернативный сценарий, который работает для решения проблем, замеченных в ansi2html для вашего примера:

#!/usr/bin/perl -w

while (<>) {
    my $save = "";
    while ( $save ne $_ ) {
        $save = $_;
        s/[^\010]\010\e\[K//;
    }
    $save = "";
    while ( $save ne $_ ) {
        $save = $_;
        s/[^\010]\010//;
    }
    s/\e\[\?[;0-9]*[\100-\176]//g;
    s/\e\][^\a]*\a//g;
    print;
}

и (вызывая этот filterit ), используйте его следующим образом:

./filterit < 1.log | ansi2html >1.html
0
27.01.2020, 21:44

Теги

Похожие вопросы