Thread Zeile auftrennen (5 answers)
Opened by MasterTH at 2010-01-21 12:04

MasterTH
 2010-01-21 12:04
#131025 #131025
User since
2010-01-20
3 Artikel
BenutzerIn
[default_avatar]
Hi leute, bin gerade dabei was zu programmieren um die übertragenen Bytes auf dem interface auszulesen unter Linux.

Das steht unter /proc/net/dev
Nur das Problem ist, wie kann ich das gescheit aufsplitten? Weil die Werte schwimmen irgendwie immer ma wieder hin und her.

Grml...

Hier mein Code, den ich bisher habe

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl

use strict;
use Tie::File;
use Getopt::Long;
use vars qw($opt_I);

my $file = "/proc/net/dev";
my $new_in_bytes=0;
my $new_out_bytes=0;
my $completestring;
my @splitinterface;
my @dataset_in;
my @dataset_out;
my @dataset_out_split;

Getopt::Long::Configure('bundling');
GetOptions
("I=s" => \$opt_I, "Interface" => \$opt_I);


open(my $FH, $file) or die "$!\n";
while (<$FH>){
$completestring = $_ if ($_=~ /$opt_I/);
@splitinterface = split(/:/,$completestring,2);
@dataset_in = split(/ /,@splitinterface [1]);
$new_in_bytes = @dataset_in[0];
@dataset_out = split(/0 /,@splitinterface [1]);

if (@dataset_out[6] =~ '\s') {
@dataset_out_split = split(/\s/,@dataset_out[5]);
$new_out_bytes = @dataset_out_split[5];
print "\n@dataset_out_split\n";
} else {
$new_out_bytes = @dataset_out[6];
}
}
#print "$new_in_bytes\n$new_out_bytes\n";

View full thread Zeile auftrennen