Schrift
[thread]8728[/thread]

Tabelle Teilen



<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
nour
 2007-02-06 11:59
#74057 #74057
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
HAllo,
ich habe letztes mal der Folgende Skript geschrieben der mir die Folgende Tabelle ausliefert
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
my $session = Net::Telnet::Cisco-> new (Host => '10.100.2.200');
$session->login('admin', 'cisco');

# Execute a command
my @output = $session->cmd('show run');
my $string = join '',@output;

my @infos = split /interface ATM/,$string;
#shift @infos;

my %hash;
for my $interface(@infos){
my ($bez) = $interface =~ /^([^\n]+)/;
my @daten = $interface =~ /(daten .*?cbr 128)/sg;
for my $daten(@daten ){
my ($id,$ip) = $daten=~ /(\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [$id,$ip];
}
}

for my $atm(keys %hash){
print sprintf("%10s | %10s | %15s\n",$atm,'Daten','IP');
print sprintf("%10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
}

| DATEN | IP
| 22/180 | 10.200.50.81
| 22/190 | 10.200.50.83


Nun jetzt wolte ich in der Code Was änderen so dass ich die folgende Tabelle bekomme:
Code: (dl )
1
2
3
4
5
6
7
        Daten1   |        Daten2 |              IP
22 | 180 | 10.200.50.81
122 | 202 | 10.200.51.82

Dass ich die Spalte " Daten "wiederrum Teilen

kann mich jemand helfen wie ich in der Code machen damit ich von "22/180 " auf "22" und "180" komme.


Danke im voraus!!
renee
 2007-02-06 12:08
#74058 #74058
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
for my $atm(keys %hash){
print sprintf("%10s | %10s | %10s | %15s\n",$atm,'Daten1','Daten2','IP');
for my $elem(@{$hash{$atm}}){
my @array = ($elem->[0],split(/\//,$elem->[1]),$elem->[2]);
print sprintf("%10s | %10s | %15s\n",' ',@array);
}
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nour
 2007-02-06 12:52
#74059 #74059
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
HAllo Rene ,

ich habe es getestet nun leider habe ich folgendes bekommen
Code: (dl )
1
2
3
4
5
6
7
8
9
           |        Daten1|        Daten2|              IP
| 22/180 | 10.200.50.81
| 22/190 | 10.200.50.83
| 22/202 | 10.200.50.82
| 122/202 | 10.200.51.82



Vielleicht muss ich an der oberen teil des codes was ändern?


Grüße
renee
 2007-02-06 13:03
#74060 #74060
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
print sprintf("%10s | %10s | %10s | %15s\n",' ',@array);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nour
 2007-02-06 13:18
#74061 #74061
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Habe ich eben versucht mit dein letzten Vorschlage vorhin aber ich merke dass der Skript er splittert nicht die Spalte Daten . ich bekomme zwar zwei Spalten aber die daten bleiben dasselber
Code: (dl )
1
2
3
4
5
6
7
8
9
           |     Daten1 |     Daten2 |              IP
Use of uninitialized value in sprintf at ./hash.pl line 33.
| 22/180 | 10.200.50.81|
Use of uninitialized value in sprintf at ./hash.pl line 33.
| 22/190 | 10.200.50.83|
Use of uninitialized value in sprintf at ./hash.pl line 33.
| 22/202 | 10.200.50.82|
Use of uninitialized value in sprintf at ./hash.pl line 33.
| 122/202 | 10.200.51.82|


danke
renee
 2007-02-06 13:44
#74062 #74062
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ist der Trenner tatsächlich '/' oder ist das irgendwie anders dargestellt?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nour
 2007-02-06 13:50
#74063 #74063
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Der Trenner ist tatschlich so gezeichnet.

beim Konfiguration der router sieht er so aus !!

Danke
renee
 2007-02-06 13:52
#74064 #74064
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Poste bitte mal Deinen Code (bitte copy & paste)...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nour
 2007-02-06 14:00
#74065 #74065
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
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
#!/usr/bin/perl -w
#DatenbankAbfragen

use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;

my $session = Net::Telnet::Cisco-> new (Host => '10.100.20.100);
$session->login('admin', 'name);

# Execute a command
my @output = $session->cmd('show run');
my $string = join '',@output;

my @infos = split /interface ATM/,$string;
#shift @infos;

my %hash;
for my $interface(@infos){
my ($bez) = $interface =~ /^([^\n]+)/;
my @data = $interface =~ /(pvc.*?cbr 128)/sg;
for my $daten(@data){
my ($id,$ip) = $pvc =~ /(\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [$id,$ip];
}
}

for my $atm(keys %hash){
print sprintf("%10s | %10s | %15s\n",$atm,'Daten','IP');
print sprintf("%10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
}
renee
 2007-02-06 14:12
#74066 #74066
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da ist das von mir aber noch nicht eingebaut...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2007-02-06 11:59.