我有一个巨大的文本文件,看起来像下面这样:
------
Device Location: Seattle
Entry address(es):
IP address: 10.0.0.1
----------
Device Location: New York
Entry address(es):
IP address: 10.5.0.1
----------
Device Location: Las Vegas
Entry address(es):
IP address: 10.9.0.1
----------
Device Location: Seattle
Entry address(es):
IP address: 10.0.6.1
----------
基本上,我试图获取Seattle中所有设备的IP地址,我使用foreach循环解析文本并查找包含"Seattle"的任何字符串,但一旦找到Seattle,我就不知道如何获取它下面两行的IP地址。
有人知道解决办法是什么吗?
$text = get-content textfile.txt
foreach($line in $text){
if ($line -match "Seattle"){
skip 1 line and grab IP
}}
先谢了!
1条答案
按热度按时间bweufnob1#
使用
Select-String
cmdlet及其-Context
参数查找包含字符串Seattle
的行,并捕获接下来的两行。然后,您可以从每个匹配项后的第2行提取IP地址,如下所示: