- 论坛徽章:
- 0
|
我用Net::SSH::Expect通过ssh登到一台主机后再telnet到一台路由设备上,通过执行指令获取设备配置信息,在读取配置信息字符串的时候,存在分页百分比的情况,如:--More--,---More(10%)---, ---- More ----[42D [42D,将这些字符串写进文件了,通过SecureCRT查看文件时不会出现这些字符,但是把这些文件拿到Windows后会显示出来,如何在获取配置信息的时候去掉这些字符?特别是---- More ----[42D [42D这种情况,42D什么的,不知道啥意思,请问有没有碰到过类似情况的,该如何处理?以下是我获取配置信息的主要代码:- $ssh->send("show conf");
- my $confStr;
- my $tempStr;
- my $tempStr2;
- my $line;
- while(defined($line = $ssh->read_line())) {
- $confStr = $confStr."\n".$line;
- if($line=~/--More--/) {
- $ssh->send(' ');
- last;
- }
- }
- while($ssh->waitfor('--More--', 1)) {
- print("1");
- while(defined($line = $ssh->read_line())) {
- $confStr = $confStr."\n".$line;
- if($line=~/--More--/) {
- last;
- }
- #print $line . "\n";
- }
- $ssh->send(' ');
- }
- while(defined($line = $ssh->read_line())) {
- $confStr = $confStr."\n".$line;
- }
复制代码 |
|