Próbuję napisać skrypt, który miałby mierzyć transfer generowany przez serwer shoutcast.
Serwer generuje log takiej postaci:
Kod
<06/21/09@15:55:36> [source] connected from 77.253.115.59
<06/21/09@15:55:36> [source] icy-name: Unnamed Server; icy-genre:
<06/21/09@15:55:36> [source] icy-pub:0; icy-br:128; icy-url:http://www.shoutcast.com
<06/21/09@15:55:36> [source] icy-irc:#shoutcast; icy-icq:0; icy-aim:N/A
<06/21/09@15:55:42> [dest: 77.253.115.59] starting stream (UID: 1)[L: 1]{A: WinampMPEG/5.54}(P: 0)
<06/21/09@15:55:44> [dest: 77.253.115.59] connection closed (2 seconds) (UID: 1)[L: 0]{Bytes: 35857}(P: 0)
<06/21/09@15:55:44> [dest: 77.253.115.59] starting stream (UID: 2)[L: 1]{A: WinampMPEG/5.54}(P: 0)
<06/21/09@15:55:47> [dest: 77.253.115.59] connection closed (3 seconds) (UID: 2)[L: 0]{Bytes: 93530}(P: 0)
<06/21/09@15:55:48> [dest: 77.253.115.59] starting stream (UID: 3)[L: 1]{A: WinampMPEG/5.54}(P: 0)
<06/21/09@15:55:36> [source] icy-name: Unnamed Server; icy-genre:
<06/21/09@15:55:36> [source] icy-pub:0; icy-br:128; icy-url:http://www.shoutcast.com
<06/21/09@15:55:36> [source] icy-irc:#shoutcast; icy-icq:0; icy-aim:N/A
<06/21/09@15:55:42> [dest: 77.253.115.59] starting stream (UID: 1)[L: 1]{A: WinampMPEG/5.54}(P: 0)
<06/21/09@15:55:44> [dest: 77.253.115.59] connection closed (2 seconds) (UID: 1)[L: 0]{Bytes: 35857}(P: 0)
<06/21/09@15:55:44> [dest: 77.253.115.59] starting stream (UID: 2)[L: 1]{A: WinampMPEG/5.54}(P: 0)
<06/21/09@15:55:47> [dest: 77.253.115.59] connection closed (3 seconds) (UID: 2)[L: 0]{Bytes: 93530}(P: 0)
<06/21/09@15:55:48> [dest: 77.253.115.59] starting stream (UID: 3)[L: 1]{A: WinampMPEG/5.54}(P: 0)
Chciałbym wyciągnąć z logu wszystkie wpisy, w których pojawia się słowo Bytes, a następnie wybrać z nich tylko liczbę przesłanych bajtów.
Ostatnim krokiem miałaby być konwersja jednostek na GB.
Mogę liczyć na podpowiedź z Waszej strony, jak się za to zabrać?