根据 powershell 中的字符串删除整行....并保留下面的行?

根据 powershell 中的字符串删除整行....并保留下面的行?

我在使用 powershell 时遇到了一些问题。

我想要实现的目标是:

文件.txt =

string1
a
string2
b

我正在使用以下命令:

Get-Content C:file.txt | Where-Object {$_ -match "string1"}

这将删除不包含“string1”的剩余行,这只完成了我想要完成的一半。有没有办法让下面的行(在本例中是字符“a”所在的行)也保留下来?无论该行是什么字符,我都需要保留该行。

谢谢!

答案1

类似这样的事情应该可以工作:

$string = "string1"
$last = ""
Get-Content C:file.txt | ForEach-Object {
    $current = $_
    if (($current -match $string) -or ($last -match $string)) {
        $_
        }
    $last = $current
    }

相关内容