728x90
my $string = "eth0 Link encap:Ethernet HWaddr 00:50:56:BA:5F:C5
inet addr:10.100.34.50 Bcast:10.100.34.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:feba:5fc5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24294735 errors:0 dropped:0 overruns:0 frame:0
TX packets:32056482 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4906042607 (4.5 GiB) TX bytes:44095919253 (41.0 GiB)
eth1 Link encap:Ethernet HWaddr 00:50:56:B2:7C:5F
inet addr:213.27.146.100 Bcast:213.27.146.103 Mask:255.255.255.248
inet6 addr: fe80::250:56ff:feb2:7c5f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32079070 errors:0 dropped:0 overruns:0 frame:0
TX packets:20186439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:40939257892 (38.1 GiB) TX bytes:2674652910 (2.4 GiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:24518 errors:0 dropped:0 overruns:0 frame:0
TX packets:24518 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1319723 (1.2 MiB) TX bytes:1319723 (1.2 MiB)";
for my $line (split /\n/, $string){
if ( $line =~ m/(eth.*)\s+Link encap/){ print "$1\n"; }
elsif ($line =~ m/inet addr:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*Bcast.*Mask:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/) { print "-$1- -$2-\n";}
}
out:
eth0
-10.100.34.50- -255.255.255.0-
eth1
-213.27.146.100- -255.255.255.248-
정리
my @string = $RemoteTelnetObj->cmd('ifconfig');
print @string;print "\n";
my $string;
foreach my $elem ( 0..$#string) { $string=$string.$string[$elem]; }
for my $line (split /\n/, $string){
if ( $line =~ m/(eth.*)\s+Link encap/){ print "$1\n"; }
elsif ( $line =~ m/(lo.*)\s+Link encap/){ print "$1\n"; }
elsif ($line =~ m/inet addr:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*Bcast.*Mask:(\d{1,3}\.\ d{1,3}\.\d{1,3}\.\d{1,3})/) { print "-$1- -$2-\n";}
elsif ($line =~ m/inet addr:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*.*Mask:(\d{1,3}\.\d{1,3 }\.\d{1,3}\.\d{1,3})/) { print "-$1- -$2-\n";}
}
728x90
'언어 > perl script' 카테고리의 다른 글
Perl cpan Win32::SerialPort 인스톨 (2) | 2016.04.29 |
---|---|
perl excel 파일 만들고 차트 생성하기 (0) | 2016.01.28 |
telnet_iperf (0) | 2015.12.08 |
perl 변수 입력 ARGV (1) | 2015.11.28 |
perl 문자, 문자열 (0) | 2015.11.28 |