Powershell脚本用于搜索文本文件并按顺序输出多行

时间:2015-03-03 20:51:17

标签: powershell

我的源文件有多个串行接口。我想简单地输出每个串行线“Serial0 / 2/0:0”,然后在每个串行接口下的输出文件的下一行输出以下内容,中止等。到目前为止,我有这个:

get-childitem show-int.log | select-string -pattern drops | foreach {$_.line}

只需使用>运行它今天的日期。我是一名网络工程师,所以请原谅我在ps方面有多糟糕。我试过google并把很多项目放在引号中,但没有任何效果令我满意。

  

Serial0 / 2/0:0启动,线路协议启动

     

硬件是DSX1

     

MTU 1500字节,BW 1536 Kbit / sec,DLY 20000 usec,

     

可靠性255/255,txload 33/255,rxload 133/255

     

封装PPP,LCP开放,多链路开放

     

Link是Multilink捆绑包Multilink1的成员,未设置环回

     

Keepalive设置(10秒)

     

上次输入00:00:00,输出00:00:00,输出挂起

     

最后清除“show interface”计数器1d18h

     

输入队列:0/75/0/0(size / max / drops / flushes);总产量下降:   381

     

排队策略:fifo

     

输出队列:0/40(大小/最大)

     

5分钟输入速率805000比特/秒,188包/秒

     

5分钟输出速率200000比特/秒,153包/秒

     

8320454数据包输入,2999426407字节,0无缓冲区

     

收到0个广播(0个IP多播)

 22 runts, 0 giants, 0 throttles 

 30 input errors, 29 CRC, 0 frame, 1 overrun, 0 ignored, 0 abort

 7629921 packets output, 1268811436 bytes, 0 underruns

 0 output errors, 0 collisions, 4294967295 interface resets

 0 unknown protocol drops

 0 output buffer failures, 0 output buffers swapped out

 7 carrier transitions

1 个答案:

答案 0 :(得分:0)

不精确,但很简单:

Get-Content show-int.log | select-string 'Serial0/2/0:0' -Context 0,10