获取Select-String输出子串的最佳方法是什么?

时间:2017-01-16 21:30:02

标签: string file powershell parsing powershell-v2.0

我在包含以下行的文件上运行Select-String

....
Association ID: uj8da-21
....

Select-String -Path "..path.." -Pattern "Association ID:" -SimpleMatch给我文件,行号,单词"关联ID:"等等。我想要的只是值。从Select-String命令执行此操作的最佳方法是什么?

如果我想在这行之后提取一系列行(比如说,另外10行),那么-Context参数是否可以去?

1 个答案:

答案 0 :(得分:2)

使用匹配组。

$matchInfo = Select-String -Path "C:\temp\text.txt" -Pattern "Association ID: (.*)" 
$matchInfo.Matches.Groups[1].Value

上下文是要走的路。

$matchInfo = Select-String -Path "C:\temp\text.txt" -Pattern "Association ID: (.*)" -Context 0,10
$matchInfo.Matches.Groups[1].Value
$matchInfo.Context.PostContext