我有以下示例文件。
Symmetrix 逻辑设备数量 = 13 CLARiiON 逻辑设备数量=0 Invista 逻辑设备数=0 通用逻辑设备计数=0 ============================================================================== ----- 主机总线适配器 --------- ------ I/O 路径 ----- ------ 统计 ------ ### HW 路径摘要总死 IO/秒 Q-IO 错误 ============================================================================== 2 port2\path0 已降级 13 3 - 0 3 3 port3\path0 已降级 13 3 - 0 3 10:00:00:00:c9:69:5b:70 的端口属性 节点 WWN:20 00 00 00 c9 69 5b 70 端口 WWN:10 00 00 00 c9 69 5b 70 端口符号名:Emulex PPN-10:00:00:00:C9:69:5B:70 端口 FCID:78004A 端口类型:结构 港口状态:运营 港口服务类型 : 8 端口支持 FC4:00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 端口活动 FC4:00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 端口支持速度:1 2 4 GBit/秒。 端口速度:1 GBit/秒。 最大帧尺寸:2048 操作系统设备名称:\\.\Scsi2: 发现端口数:2 面料名称 : 20 02 00 0d ec f1 00 c1 10:00:00:00:c9:69:37:63 的端口属性 节点 WWN:20 00 00 00 c9 69 37 63 端口 WWN:10 00 00 00 c9 69 37 63 端口符号名:Emulex PPN-10:00:00:00:C9:69:37:63 港口 FCID:780098 端口类型:结构 港口状态:运营 港口服务类型 : 8 端口支持 FC4:00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 端口活动 FC4:00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 端口支持速度:1 2 4 GBit/秒。 端口速度:1 GBit/秒。 最大帧尺寸:2048 操作系统设备名称:\\.\Scsi3: 发现端口数:2 面料名称:20 02 00 0d ec f0 b5 81
我需要在 powershell 中仅选择以下部分。我该如何实现?如果能从中创建对象就好了,但拆分就足够了
============================================================================== ----- 主机总线适配器 --------- ------ I/O 路径 ----- ------ 统计 ------ ### HW 路径摘要总死 IO/秒 Q-IO 错误 ============================================================================== 2 port2\path0 已降级 13 3 - 0 3 3 port3\path0 已降级 13 3 - 0 3
多谢
PS.
我尝试使用下面的代码行但它返回的不仅仅是需要的块:
[regex]::match($file,'(={3,}).+(?=Port\sAttributes\sfor.+)',"singleline").value
PPS。
真的很抱歉,我对正则表达式不够熟悉,所以我才问
答案1
假设您在文件中提供了日志内容hba.log
,以下将返回以“=”、“-”、“#”开头的所有行,或包含一个或多个空格字符、后跟数字、后跟空格字符、后跟“端口”的行:
Get-Content hba.log | Where-Object { $_ -match "^[=#-]|\s{1,}\d\sport" }
此处测试返回:
==============================================================================
----- Host Bus Adapters --------- ------ I/O Paths ----- ------ Stats ------
### HW Path Summary Total Dead IO/Sec Q-IOs Errors
==============================================================================
2 port2\path0 degraded 13 3 - 0 3
3 port3\path0 degraded 13 3 - 0 3
如果2 port2\path0
行以制表符或特定数量的空格开头,我们可以重写上面的内容以改为使用它。您需要在问题中阐明第 9-10 行的可能值是什么[-n如果您需要更具体的内容,可以包含?]。