我正在尝试操作文本文件。我希望它保留前X行数,然后它应该寻找一个字符串模式。如果一行包含该模式,则应以其他方式删除。
我让两件事分开工作但不在一起。它可以保持线条直到X并移除其余部分。除了带有图案的线条之外,我还是去除了除去所有线条以外的所有线条,但我无法让它们同时用于两者。
编辑:这是代码:
$data = Get-Content test.md
$newdata = ""
$n = 0
Foreach ($line in $data) {
if ($n++ -ge 6) {
$newdata += $line | Where{$_ -match '\[R\]'}
} else {
$newdata += $line
}
$newdata += " `r`n"
}
$newdata > test2.md
问题是线条仍然是空行。但它们应该被完全删除。
答案 0 :(得分:1)
@Transactional
让它像那样工作。
答案 1 :(得分:0)
您可以使用
"test.md" | % {
Get-Content $_ -TotalCount 6
(Select-String -path $_ -match '\[R \]' -AllMatches).Line
} | Out-File test2.md -Encoding Ascii