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
#!/usr/bin/perl -w
########################
# Modul Definition
#########################
use strict;
use DateTime;
##########################
# Parameter Definition
#########################
my $ct=1;
my $tstamp = DateTime->now->set_time_zone('Europe/Berlin'); # Find the Timestamp
my $mydate = $tstamp->ymd;
my $iFile = "./workspace/Testfile.log";
my ($line,$info);
my (@dataArray,@Array2);
##########################
##########################
system("clear");
if ( -e $iFile ){
print "$iFile existiert \n";
open (iFile,"<$iFile") || die $!;
}
while ($line=<in>){
@dataArray = split(/\s*\S+:\s+sip:|@/,$line); #
shift (@dataArray); # erstes Elemement aus Array löschen
# print scalar(@dataArray); # Ausgabe des Array-Inhaltes
}
print join("\n",@dataArray); # Ausgabe des Array-Inhaltes
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
#!/usr/bin/perl -w
########################
# Modul Definition
#########################
use strict;
use DateTime;
##########################
# Parameter Definition
#########################
my $ct=1;
my $tstamp = DateTime->now->set_time_zone('Europe/Berlin'); # Find the Timestamp
my $mydate = $tstamp->ymd;
my $iFile = "./workspace/Testfile.log";
my ($line,$info);
my (@dataArray,@Array2);
##########################
##########################
system("clear");
if ( -e $iFile ){
print "$iFile existiert \n";
open (iFile,"<$iFile") || die $!;
}
while ($line=<iFile>){
@dataArray = split(/\s*\S+:\s+sip:|@/,$line); #
shift (@dataArray); # erstes Elemement aus Array löschen
# print scalar(@dataArray); # Ausgabe des Array-Inhaltes
}
print join("\n",@dataArray); # Ausgabe des Array-Inhaltes
1 2 3 4 5 6
while ($line=<iFile>){ chomp $line; # Zeilenende entfernen my @arr = split(/\s*\S+:\s+sip:|@/,$line); # Daten in Array zwischenspeichern shift @arr; # Datum SIP-URI wegwerfen push @dataArray,@arr; # Daten für spätere Verarbeitung speichern }
$line =~ s/[0-9].*$//g;
2014-03-31T10:02:56 cohamaUnd wie sieht das dann aus? Wo sind die Daten extra nach der IP?Nachdem das Script nun die tausenden Zeilen verarbeitet, ist mir aufgefallen, dass ein paar Daten auch nach der IP enthalten sind
1
2
3
4
213.220.151.209:5060;transport=udp;uniq=8DDB8672AB2E885DBF977B4BDF12D>;expires=441
213.220.145.46:5060;transport=udp;uniq=622078979A122CE3E851797110E4D>;expires=1483
82.193.250.177:5060;transport=udp>;expires=1389
213.220.145.202:5060;transport=udp;uniq=C8D2B0559FA6353D678E05992589E>;expires=476
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
while ($line=<iFile>){ chomp $line; # Zeilenende entfernen my @arr = split(/\s*\S+:\s+sip:|@/,$line); # Daten in Array zwischenspeichern shift @arr; # Datum SIP-URI wegwerfen @arr = map { # in ein Array mappen s/:.+$//; # Alles vom : bis Zeilenende entfernen $_; # Wert aus map weiterreichen } @arr; # altes Arrayinhalt push @dataArray,[ @arr ]; # Daten für spätere Verarbeitung speichern } print "Contact-Rufnummer,Contact-IP,To-Rufnummer,To-IP", "\n"; print "$_\n" for map { join ',',@$_ } @dataArray;