Schrift
[thread]8505[/thread]

Tabelle Im PErl

Leser: 1


<< >> 8 Einträge, 1 Seite
nour
 2006-11-15 12:08
#71745 #71745
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo.
ich arbeite an eine cisco Router , der Ergebniss der mein Script liefert kommt danach in eine Datenbank!

Nun Hier ist mein Script:

__________________________________________
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/perl -w


use Net::Telnet::Cisco;

use strict;

my $linec;
my $line;
my $interface;
my $pvc;
my $array;
my $ip;
my $cbr;
my $session = Net::Telnet::Cisco-> new (Host => '10.200.2.100');
$session->login('admin', 'cisco');

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

#print @output;
foreach(@output)
{
if ( $_ =~ "interface ATM" ) {
$interface=$_;
chomp($interface);
#print "$_\t";
print" Int:\n $interface \n\n";
}

if ( $_ =~ "pvc"){

$pvc=$_;
chomp($pvc);
#print "$_\t";
print" PVC\t :$_\t\t ";

}
if ( $_ =~ "protocol ip " ){

$ip=$_;
chomp($ip);
#print "$_\t";
print" IP\t :$ip\n";
}



if ( $_ =~ "cbr" ){

$cbr=$_;
chomp($cbr);
#print "$_\t";
#print" CBR|$cbr";
}

#print "Int:$interface | PVC:$pvc | IP:$ip |Cbr:$cbr \n";
# print " Int|PVC |IP|Cbr \n";
#print" $interface |$pvc|$ip|$cbr \t";
}

____________________________________________mein Ergebniss auf die Console ist wie Folgendes:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
interface ATM1/0

PVC :
pvc 22/180 IP :
protocol ip 10.200.50.81
PVC :
pvc 22/190 IP :
protocol ip 10.200.50.83
PVC :
pvc 22/202 IP : protocol ip 10.200.50.82
PVC :
pvc 122/202 IP :
protocol ip 10.200.51.82

___________________________________________________
Nun ich will ein Folgende Ergebnis Haben :
Code: (dl )
1
2
3
4
5
6
 ATM1/0 |PVC                 | IP 
pvc 22/180 10.200.50.81
pvc 22/190 10.200.50.83
pvc 22/202 10.200.50.82

pvc 122/202 10.200.51.82

in art eine Tabelle

wie kann ich MEin Problem Lösen.

Danke im Voraus.\n\n

<!--EDIT|renee|1163586042-->
renee
 2006-11-15 12:22
#71746 #71746
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeig mal, wie der Input aussieht...
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
 2006-11-15 12:31
#71747 #71747
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Es kann sein dass, die Antwort doppelt geschikt :-)
____________________________________________________
Building configuration...
Current configuration : 1606 bytes
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname Cisco4
!
logging queue-limit 100
enable secret 5 $1$Jrmy$MiJ33eBJTSu6wAuBP.Pku.
!
ip subnet-zero
!
!
no ip domain lookup
ip domain name te.admin.net
ip name-server 218.1.14.222
!
!
!
!
!
!
!
!
!
!
!
!
!
no voice hpi capture buffer
no voice hpi capture destination
!
!
mta receive maximum-recipients 0
!
!
!
!
interface FastEthernet0/0
description Ethernetinterface zum Radiocommander
ip address 10.200.4.54 255.255.255.224 secondary
ip address 10.200.2.100 255.255.255.224
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.200.2.34 255.255.255.240
speed 10
half-duplex
!
interface ATM1/0
description ATM to NodeB for Corba/FTP for RNC22
ip address 10.200.51.94 255.255.255.240 secondary
ip address 10.200.50.94 255.255.255.240
no atm auto-configuration
no atm ilmi-keepalive
pvc 22/180
protocol ip 10.200.50.81
cbr 128
!
pvc 22/190
protocol ip 10.200.50.83
cbr 128
!
pvc 22/202
protocol ip 10.200.50.82
cbr 128
!
pvc 122/202
protocol ip 10.200.51.82
cbr 128
!
!
ip default-gateway 10.200.2.126
ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 10.200.2.126
!
!
!
!
snmp-server community priv RW
snmp-server enable traps tty
!
call rsvp-sync
!
!
mgcp profile default
!
!
!
dial-peer cor custom
!
!
!
!
banner login ^CWelcome to Cisco4^C
!
line con 0
password 7 01100F175804
login
line aux 0
line vty 0 4
password 7 1511021F0725
login
line vty 5 32
password 7 13061E010803
login
!
!
end
________________________________________________-___
Vielen Dank! Gruß
renee
 2006-11-15 14:11
#71748 #71748
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [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
33
34
35
36
37
#!/usr/bin/perl -w


use Net::Telnet::Cisco;

use strict;

my $linec;
my $line;
my $interface;
my $pvc;
my $array;
my $ip;
my $cbr;
my $session = Net::Telnet::Cisco-> new (Host => '10.200.2.100');
$session->login('admin', 'cisco');

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

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

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

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


ungetestet...
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
 2006-11-15 14:33
#71749 #71749
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Danke!
es gibt kein fehler aber es liefert Mir kein Ergebnisse!

Meine Kentnisse im Perl sind ja begrenzt :-(
renee
 2006-11-15 14:51
#71750 #71750
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mit obiger Ausgabe getestet:
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
#!/usr/bin/perl -w


use Net::Telnet::Cisco;
use strict;
#use Data::Dumper;

my $session = Net::Telnet::Cisco-> new (Host => '10.200.2.100');
$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 @pvcs = $interface =~ /(pvc.*?cbr 128)/sg;
for my $pvc(@pvcs){
my ($id,$ip) = $pvc =~ /(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,'PVC','IP');
print sprintf("%10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
}
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
 2006-11-15 15:26
#71751 #71751
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hey!
Vielen dank Herrvoragend.

Nur noch eine letzte farge was betrifft die folgende Zeile:

Code: (dl )
print sprintf("%10s | %10s | %15s\n",$atm,'PVC','IP');



10%s und %15s  ist eine Formatierung  ?

//Modedit Gwendragon: Code-Tags hinzugefügt;
Bitte Code in Code-Tags stellen\n\n

<!--EDIT|GwenDragon|1163599536-->
nepos
 2006-11-15 15:33
#71752 #71752
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ja, das sind Formatanweisungen, wie die entsprechenden Werte ausgegeben werden sollen. %10s heisst, dass ein String der Laenge 10 ausgegeben werden soll. Siehe perldoc -f sprintf.
<< >> 8 Einträge, 1 Seite



View all threads created 2006-11-15 12:08.