Dzień dobry. Czy może mi ktoś pomóc ze skryptem w perlu?
Chciałbym w wyniku mieć plik dla potrzeb lms-traffic IP upload download
Mam plik ze statystykami z mikrotika, który wygląda tak: # nov/27/2012 20:23:53 by RouterOS # software id = # Flags: X - disabled, I - invalid, D - dynamic # CHAIN ACTION BYTES PACKETS 0 ;;; U 94.40.60.1 statystyki return 0 0 1 ;;; D 94.40.60.1 statystyki return 69 759 855 2 ;;; U 94.40.60.2 statystyki return 931 359 3 475 3 ;;; D 94.40.60.2 statystyki return 4 773 361 10 731 4 ;;; U 94.40.60.3 statystyki return 17 928 631 108 771 5 ;;; D 94.40.60.3 statystyki return 142 480 663 156 208
Pierwsza linijka "statystyki" to upload, druga linijka "statystyki" to download dla danego ip, później powtórka dla kolejnych ip itd.
Spłodziłem coś takiego, ale nie wiem jak to dalej ogarnąć. Dodatkowo w innym skrypcie próbowałem wyciągnąć same wartości ale przykładowo zamiast 4 773 361 skrypt zwraca tylko 361 #!/usr/bin/perl -w # #
open(FILE, "/tmp/stats.txt") || die("Nie można otworzyć pliku: $!"); @lines = <FILE>; close(FILE);
foreach (@lines) {
if (/U/){ s/\n//; @linia=split; $dane[$linia[0]]=$_; } if (/D/){ s/\n//; $dane[$linia[0]].=$_; print $dane[$linia[0]]; print "\n"; } }
uczestnicy (1)
-
Łukasz Rostalski