【问题标题】:Powershell script to search text file and output multiple lines in order用于搜索文本文件并按顺序输出多行的 Powershell 脚本
【发布时间】:2015-03-04 05:20:01
【问题描述】:

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

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

只需使用 > todays-date 运行它。我是一名网络工程师,所以请原谅我在 ps 方面有多糟糕。我已经尝试过 google 并将许多项目放在引号中,但没有什么能令我满意。

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

硬件是 DSX1

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

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

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

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

Keepalive 设置(10 秒)

最后输入 00:00:00,输出 00:00:00,输出从不挂起

最后一次清除“显示界面”计数器 1d18h

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

排队策略:先进先出

输出队列: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

【问题讨论】:

  • 不清楚你在这里问什么。请添加一个示例,说明输入文件的外观以及您希望输出的内容。
  • 我刚刚用输入文本编辑了我的评论,但看起来很糟糕。

标签: powershell


【解决方案1】:

不精确,但简单:

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 行,然后输出 3 行。
  • 是的,-Context只是为了显示周围的线条。如果您想要更精确的控制,您需要创建更复杂的东西。从你的问题中不清楚这是否真的需要。
  • 好的。我道歉。我现在至少了解了 -Context。
猜你喜欢
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
  • 2023-03-13
相关资源
最近更新 更多