用于搜索文本文件并按顺序输出多行的Powershell脚本
我的源文件有多个串行接口。我想简单地输出每个串行行Serial0/2/0:0,然后在每个串行接口下的输出文件的下一行上执行以下删除、中止等操作。到目前为止,我有:用于搜索文本文件并按顺序输出多行的Powershell脚本,powershell,Powershell,我的源文件有多个串行接口。我想简单地输出每个串行行Serial0/2/0:0,然后在每个串行接口下的输出文件的下一行上执行以下删除、中止等操作。到目前为止,我有: get-childitem show-int.log | select-string -pattern drops | foreach {$_.line} 只需使用>todays date运行即可。我是一名网络工程师,所以请原谅我在ps方面有多差。我曾尝试过谷歌,并将许多项目用引号括起来,但没有一项能让我满意 Serial0/2/0
get-childitem show-int.log | select-string -pattern drops | foreach {$_.line}
只需使用>todays date运行即可。我是一名网络工程师,所以请原谅我在ps方面有多差。我曾尝试过谷歌,并将许多项目用引号括起来,但没有一项能让我满意
Serial0/2/0:0启动,线路协议启动
硬件是DSX1
MTU 1500字节,BW 1536 Kbit/sec,DLY 20000 usec
可靠性255/255,txload 33/255,rxload 133/255
封装PPP、LCP Open、多链路Open
链接是Multilink bundle Multilink1的成员,未设置环回
保持10秒
上次输入00:00:00,输出00:00:00,输出从不挂起
最后一次清除显示接口计数器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
不精确,但简单:
Get-Content show-int.log | select-string 'Serial0/2/0:0' -Context 0,10
不清楚你在问什么。请添加一个示例,说明输入文件的外观,以及您希望输出的内容。我刚刚用输入文本编辑了我的注释,但它看起来很糟糕。很有效!但是,我希望它输出,比如说,Serial0/2/0:0下的第三行,而不是之前的前两行。然后输出第9行。我尝试过-Content 3等等,但这使得它输出Serial0/2/0:0上面的3行,然后是Serial0/2/0:0后面的3行。是的,-上下文只是显示周围的行。如果你想要更精确的控制,你需要创造更复杂的东西。你的问题不清楚这是否真的需要。我道歉。我现在至少了解了上下文。