我在使用 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
}