> I have a log file with escape sequences like "ESC]00m" and the like. I
> know they are the codes to change the color and so in the original
> printing, but in automatic post processing its a real headache...
> 
> How can I automatically remove ANY escape sequence to convert it into a
> real plain text?
> 

I think the only things you will have to convert are the ESC strings
themselves (the ]00m can be left literal). This perl script will
convert all the ESC's back into their actual binary values (ascii 27):

====================

#!/usr/bin/perl

foreach (<>){
  s/ESC/chr(27)/eg;
  print;
}

====================

Just put it in a file named 'conv.pl' , make it executable, and run it like:

conv.pl < logfile > converted_logfile

or

conv.pl logfile > converted_logfile

The limitations of this script is that it will convert *any* literal
string of ESC to a non-pritable character (for example in
DESCRIPTION). This could be fixed by modifying the regular expression
if we knew more context (does ] ALWAYS follow ESC in the escape
sequences? Do they always consist of 5 characters? What letters can
they end in?)

For the most past, this should do the trick though.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to