Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

08.11.2006, 07:32

Filter

Hi, ich habe folgendes Problem mit der log-Datei

Vorwort:

Ich gehe per Telnet auf die einzelnen Anlagen drauf (mit expect) u. erstell mir dazu ne logdatei. In die Logdatei wird folgendes geschrieben.

[23;0H [0;7m [0m [23;0H [24;0H [K [1;0H [0;7m [0m [1;0H [2;1H [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B [K [B 7 [1;1H [0;7mdisplay capacity [0m 8 [1;65H [0;7mPage 9 of 12 [0m [2;33HSYSTEM CAPACITY [4;18HTOTAL LICENSED CAPACITY [5;54H License [6;54H Used Available Limit [7;54H----------------------- [8;28HStation and Trunk Ports: [8;54H 740 [8;62H43260 [8;71H44000 [9;35HStation Capacity: [9;54H 377 [9;62H 100 [9;71H 477 [10;39HSBS Stations: [10;54H 0 [10;62H 500 [10;71H 500 [11;34HRadio Control

Da drin befinden sich noch Steuerzeichen. Mein Problem ist es den Ausdruck Station and Trunk Ports: mit den entsprechenden Werten zu erfassen (rot makiert). Hab diverse Löschmethoden angewendet mit Perl aber das ist mir zu umständlich alles bis auf diesen Ausdruck zu löschen. Gibt es ne Möglichkeit erstmal alle Zeichen bis zum Ausdruck "Station" zu löschen?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Memphis2k« (08.11.2006, 07:34)


2

08.11.2006, 09:53

hi Memphis2k,

mit einem awk-einzeiler kannst du, sofern die steuerzeichen immer gleich bleiben, diese
als feld-trenner benutzen.

Quellcode

1
cat logfile | awk -F"\[8;28H" '{print $2}' | awk -F' \[9;35H' '{print $1}' 
fuehrt zu folgendem ergebnis:

Station and Trunk Ports: [8;54H 740 [8;62H43260 [8;71H44000

oder so:

Quellcode

1
cat logfile | awk -F"\[8;28H" '{print $2}' | awk -F' \[9;35H' '{print $1}' | awk -F'\[8;54H' '{print $1 $2}' | awk -F'\[8;62H' '{print $1 $2}' | awk -F'\[8;71H' '{print $1 $2}'

Station and Trunk Ports: 740 43260 44000

gruß epikur
wie soll ich wissen, was ich denke?
... bevor ich hoere, was ich sage
... bevor ich lese, was ich schreibe

3

08.11.2006, 11:37

Danke epikur!

Habs jetzt mit awk gemacht und es funktioniert. Da die Positionswerte z.b 9;35 immer gleich sind hab ich auch immer die richtige Ausgabe, genau das was ich wollte.

gruß Memphis2k

Thema bewerten