Powershell io.streamreader“-context”等效命令

时间:2014-06-02 19:06:11

标签: .net powershell

我在PowerShell中使用以下代码从大型txt文件中收集相关数据。

$sr = new-object System.io.streamreader(get-item c:\test.txt)

while (($line = $sr.ReadLine()) -ne $null) {
    if ($line -match "data") { $line } 
}

$sr.Dispose()

这很有效但是如果PowerShell的select-string -context 1,0能够获得上面的行以及匹配的行,那将会非常有用。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

如果您只需要前一行,则以下内容就足够了:

$sr = new-object System.io.streamreader(get-item c:\test.txt)

while (($line = $sr.ReadLine()) -ne $null) {
    if ($line -match "data") { $prev_line, $line }
    $prev_line = $line
}

$sr.Dispose()