Perl, RegExp und Steuerzeichen...

Perl, RegExp und Steuerzeichen...

am 02.08.2006 15:58:16 von Jan Teune

Hallo NG,
kleines Problemchen, bei dem ihr mir bestimmt weiterhelfen könnt :-)
ich bekomme über eine serielle Leitung Daten eines Raid-Systems, welche
noch mit unglaublich hässlichen Steuerzeichen durchsetzt ist...
unter anderem findet man da "[K", "[3;3H"

nun meine Frage, wie kann ich diese Steuerzeichen mittels regulärer
Ausdrücke entfernen. Das Hex-Symbol für das ist die 0x1B...aber
wie bekommt man die da raus? Für Hilfe wäre ich sehr dankbar...

eine kleine Testzeile noch anbei
[3;3H[0mAdding( 7)55.3% [24;80H

MfG
Jan

Re: Perl, RegExp und Steuerzeichen...

am 02.08.2006 16:22:09 von Jan Teune

Hat sich erledigt, danke :-)

Jan Teune wrote:
> Hallo NG,
> kleines Problemchen, bei dem ihr mir bestimmt weiterhelfen könnt :-)
> ich bekomme über eine serielle Leitung Daten eines Raid-Systems, welche
> noch mit unglaublich hässlichen Steuerzeichen durchsetzt ist...
> unter anderem findet man da "[K", "[3;3H"
>
> nun meine Frage, wie kann ich diese Steuerzeichen mittels regulärer
> Ausdrücke entfernen. Das Hex-Symbol für das ist die 0x1B...aber
> wie bekommt man die da raus? Für Hilfe wäre ich sehr dankbar...
>
> eine kleine Testzeile noch anbei
> [3;3H[0mAdding( 7)55.3% [24;80H
>
> MfG
> Jan

Re: Perl, RegExp und Steuerzeichen...

am 03.08.2006 03:21:44 von Maluku

Jan Teune schrieb:
> Hat sich erledigt, danke :-)
>
Schade, grade wollt ich schreiben dass die meisten Programme wenn man
ihnen einen PIPE-Status setzt die ganzen Steuerzeichen eh nicht mit
ausgegeben (z.B. LS)

Sowas wie
ls --color=auto | cat

sieht schon sehr anders aus als

ls --color=auto


P.S.: Alle console codes: man console-codes
http://realizer.byus.net/pds/unix_man/console_codes.4.html (thx google)

--
$_='';s%%`^.*`s;.*;uhtnmo;;a>lha~a>inu~a>fmk~a>rou~a>duM~a>b tl~s;&&&&&&;
!d1!l2!b3!i4!f5!r6q(?);e;Z``}a>&&&`sub# "1#{#"_=shift#;s^"2^"3#^;``;~`
return #"_#}``^!&&`"1(#""2)#\.`Z%x;s~Z~print~g;s/#/\\/g;
s/`(.)(.+?)`(.+?)`/s$1$2$1$3$1g\;/gsx;s;&;(.);g;y^"^$^;print ;