+ -
当前位置:首页 → 问答吧 → 请各位大侠帮忙解决一个取数问题

请各位大侠帮忙解决一个取数问题

时间:2011-05-19

来源:互联网

本帖最后由 贪睡的小猪 于 2011-05-19 10:14 编辑

Trying 10.101.69.99...
Connected to 10.101.69.99.
Escape character is '^]'.

Software Version:4.8.18
             MAC:00:24:b2:9d:eb:20
              SN:PP29-7n40-04a
Netgear login: admin
Password:
Netgear# showver
1.2.17.4
Netgear# exit
Trying 10.101.69.101...
Connected to 10.101.69.101.
Escape character is '^]'.

Software Version:4.8.18
             MAC:00:24:b2:cf:6d:00
              SN:PP29-7n10-086
Netgear login: admin
Password:
Netgear# showver
1.2.17.4
Netgear# exit

以在trying开始到exit为一段截取其中的内容
或者trying开始到exit的内容变成一行也可以
要得到如下文本
10.101.69.99 MAC:00:24:b2:9d:eb:20 SN:PP29-7n40-04a 1.2.17.4
10.101.69.101 MAC:00:24:b2:cf:6d:00 SN:PP29-7n10-086 1.2.17.4

作者: 贪睡的小猪   发布时间: 2011-05-19

awk 'BEGIN{FS="\n";RS="exit\n"}{print substr($1,8,length($1)-11),$6,$7,$11}' urfile|tr -s ' '

作者: li2002   发布时间: 2011-05-19

回复 贪睡的小猪


    sed:
  1. sed -nr '/Trying/,/exit/{
  2.         /Trying/h
  3.         /Trying/! H
  4.         /exit/{
  5.                 x
  6.                 s/[^\n]*Trying (([0-9]{2,3}\.){3}[0-9]*).*(MAC[^\n]*).*(SN[^\n]*).*\n([0-9.]*)\n.*/\1 \3 \4 \5/
  7.                 p
  8.         }
  9.         }'
复制代码

作者: yinyuemi   发布时间: 2011-05-19



QUOTE:
awk 'BEGIN{FS="\n";RS="exit\n"}{print substr($1,8,length($1)-11),$6,$7,$11}' urfile|tr -s ' '
li2002 发表于 2011-05-19 09:54




谢谢楼主的回复,我测试一下好向不行啊。
测试结果
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
root@hz-data-fengxi # awk 'BEGIN{FS="\n";RS="exit\n"}{print substr($1,8,length($
1)-11),$6,$7,$11}' outbak |tr -s ' ' |more
10.101.69.10

.101.69.



.8

n: ad





.101.69.



.8


n: ad
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

作者: 贪睡的小猪   发布时间: 2011-05-19

作者: denniss   发布时间: 2011-05-19

回复 贪睡的小猪
  1. awk -v RS="exit\n" '{sub(/...$/,"",$2);print $2,$12,$13,$(NF-1)}' file
复制代码

作者: where27   发布时间: 2011-05-19