> 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]