我想把登录到网关执行命令的结果保存在文本文件中
然后对文本文件进行分析,取出有用的数据
下面是文本文件的部分内容bj-t-gw1#show processes cpu
CPU utilization for five seconds: 24%/18%; one minute: 26%; five minutes: 27%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 434776 4201085 103 0.00% 0.00% 0.00% 0 Load Meter
2 612 859 712 0.00% 0.09% 0.09% 3 Virtual Exec
3 84611528 5768738 14667 2.61% 0.51% 0.39% 0 Check heaps
4 0 1 0 0.00% 0.00% 0.00% 0 Chunk Manager
5 4768 10081 472 0.00% 0.00% 0.00% 0 Pool Manager
6 0 2 0 0.00% 0.00% 0.00% 0 Timers
bj-t-gw1#show controllers e1
E1 0 is up.
Applique type is Channelized E1 - unbalanced
No alarms detected.
alarm-trigger is not set我想取出有用的数据是
five seconds=18%-24%
one minute=26%
判断E1 0是否up
我怎样才能实现呢,这个问题困扰我好久了
希望高人指点我
然后对文本文件进行分析,取出有用的数据
下面是文本文件的部分内容bj-t-gw1#show processes cpu
CPU utilization for five seconds: 24%/18%; one minute: 26%; five minutes: 27%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 434776 4201085 103 0.00% 0.00% 0.00% 0 Load Meter
2 612 859 712 0.00% 0.09% 0.09% 3 Virtual Exec
3 84611528 5768738 14667 2.61% 0.51% 0.39% 0 Check heaps
4 0 1 0 0.00% 0.00% 0.00% 0 Chunk Manager
5 4768 10081 472 0.00% 0.00% 0.00% 0 Pool Manager
6 0 2 0 0.00% 0.00% 0.00% 0 Timers
bj-t-gw1#show controllers e1
E1 0 is up.
Applique type is Channelized E1 - unbalanced
No alarms detected.
alarm-trigger is not set我想取出有用的数据是
five seconds=18%-24%
one minute=26%
判断E1 0是否up
我怎样才能实现呢,这个问题困扰我好久了
希望高人指点我
解决方案 »
- 如何在richTextBox中指定位置增加一行?
- VB读取文件夹下文件到数组出错,请大侠帮忙看看,本人没多少分,解决后全送了
- frame控件与picture控件有何区别呀?是不是picture可以完全取代frame呀?我实在没找到二者的本质区别,只觉得picture比frame功能多些
- 求助!vb shell问题
- function 返回值的问题 痛苦呀
- 一个小问题,请高手帮忙
- **在ActiveBar的弹出式菜单上只接受右键,该怎么写?
- 在2000下开发的东西,要在98下安装,需要注意什么?
- 关于VSFlexGrid1
- 如何在图片中动态获得鼠标当前位置
- ocx控件的注册问题
- 哪位有Richtextbox进行多步撤消操作的源码啊,请给我一份,谢谢
你的文本文件是怎么储存的?是每次运行命令都把结果存到一个新的文本文件还是追加到一个固定的文本文件?
运行命令的结果格式、长度是不是固定的?会改变的是那些部分?
如你所取的文本文件内容存放在sTemp中,要查five seconds: 18%-24%;,可以:
Dim sTemp As String
Dim iStartPos As Integer
Dim iEndPos As Integer
Dim sData As String sTemp = "CPU utilization for five seconds: 24%/18%; one minute: 26%; five minutes: 27%"
iStartPos = InStr(sTemp, "five seconds") + Len("five seconds") + 1
iEndPos = InStr(Right(sTemp, Len(sTemp) - iStartPos), ";") + iStartPos
sData = Mid(sTemp, iStartPos, iEndPos - iStartPos)
MsgBox sData
执行一些show命令
把结果保存在一个txt文本文件中
现在要对他进行分析
例如:
找到字符串
CPU utilization for five seconds: 24%/18%; one minute: 26%; five minutes: 27%
取出24%/18% 26%
找到字符串
E1 0 is up
取出E1 0 is 后面的字符串
应该怎样做呢
CPU utilization for five seconds: 24%/18%; one minute: 26%; five minutes: 27%
我所查找的cpu每5秒占用率数值不一定是什么
E1 0 is up
我所查找的E1状态可能是up,也可能是down
怎样才能取出他们的置呢
endstr$="one minute:"用instr找出strstr$的位置A以及endstr$的位置B
然后你想要的值就是:mid(源字符串,a+1,(b-a))
大概思路是这样。同理,要得到E1 0 is的值,可以通过查找“E1 0 is”和“Applique type is Channelized E1 - unbalanced”两个字符串的位置再根据他们的值来得到结果。
s=lineinput #1
if left(trim(s),7)="E1 0 is" then
t=mid(trim(s),8)
endif
判断t的内容就可以了
读取前面的内容用老六的方法应该可以
然后你想要的值就是:mid(源字符串,A+len(starstr$),(B-a-len(starstr$))
思路是这样,但具体的值你自己再看看吧,我这里没有测试环境。