printConsole 1.07 KB
#!/usr/local/bin/perl5 -w
#
# Copyright (C) 1996-1998 by the Board of Trustees
#    of Leland Stanford Junior University.
# 
# This file is part of the SimOS distribution. 
# See LICENSE file for terms of the license. 
#

#
# Reconstruct console output from a simos cpu.log file
#

$pattern = "\\d*";
$inputFile = "cpu.log";
$i = 0;

while ($i<=$#ARGV) {
    if ($ARGV[$i] eq "-c") {
        $i++;
        $pattern =  "$ARGV[$i]";
    } elsif ($ARGV[$i] eq "-f") {
        $i++;
        $inputFile = $ARGV[$i];
    } else {
        print "usage: printConsole [-c consoleNum] [-f file]\n";
        exit;
    }
    $i++;
}

foreach $i (0..15) {
    $data[$i] = "";
}

open(INFILE, $inputFile) || die "ERROR: could not open $inputFile";

while (<INFILE>) {
    if (/^:($pattern):(.)$/o) {
        $co = $1;
        $ch = $2;
        
        if ($ch eq "
") {
            print "$co>  $data[$co]\n";
            $data[$co] = "";
        } else {
            $data[$co] = $data[$co] . $ch;
        }
    }
}

foreach $i (0..15) {
    if ($data[$i] ne "") {
        print "$i>  $data[$i]\n";
    }
}