【发布时间】:2021-11-01 21:03:39
【问题描述】:
我想在一个块中搜索文本,或者在匹配的字符串之后而不是立即搜索
例如:从“ipconfig”的输出中,我只想提取 WiFi 部分中的 IPv4 地址
ipconfig | sls -Pattern "Wifi" -Context 0, 4
返回匹配的字符串和它之后的 4 行,但我只想要第 4 行,“-Pattern 'IPv4'”返回所有适配器的所有 ips
如何只提取 Wifi IPv4?
【问题讨论】:
我想在一个块中搜索文本,或者在匹配的字符串之后而不是立即搜索
例如:从“ipconfig”的输出中,我只想提取 WiFi 部分中的 IPv4 地址
ipconfig | sls -Pattern "Wifi" -Context 0, 4
返回匹配的字符串和它之后的 4 行,但我只想要第 4 行,“-Pattern 'IPv4'”返回所有适配器的所有 ips
如何只提取 Wifi IPv4?
【问题讨论】:
Select-String 返回的输出对象将有一个Context 属性,该属性又包含一个具有PostContext 属性的对象,该属性包含匹配的行之后的行:
ipconfig | sls -Pattern 'Wifi' -Context 0,4 |ForEach-Object { $_.Context.PostContext[-1] }
【讨论】: