如何从powershell中的文本文件中删除行?

如何从powershell中的文本文件中删除行?,powershell,Powershell,突然,我有一种冲动,想最终进入权力地狱。现在我有办法导入一个文本文件,创建一个文本文件,然后添加到一个文件中,但是有办法从文件中删除元素吗?例如,如果我有一个文本文件: test.txt Quick Brown Fox 我可以用 $textFile=获取内容-路径“\test.txt” 我可以打印每个元素,并使用 foreach($line in $textFile) { Write-Host $line Add-Content -Path ".\output.txt" -Va

突然,我有一种冲动,想最终进入权力地狱。现在我有办法导入一个文本文件,创建一个文本文件,然后添加到一个文件中,但是有办法从文件中删除元素吗?例如,如果我有一个文本文件:

test.txt

Quick
Brown
Fox
我可以用 $textFile=获取内容-路径“\test.txt”

我可以打印每个元素,并使用

foreach($line in $textFile)
{
    Write-Host $line
    Add-Content -Path ".\output.txt" -Value $line
}
但是如何从
test.txt
文件中删除或删除元素(一行)?我在谷歌上搜索了一个解决方案,但我只在有人想要的情况下得到结果,或者。我认为它会像前面的命令一样直观

谢谢你的反馈

例如,它通过保留不包含特定内容的行来删除行

您可以通过保留不想删除的行来执行相同的操作

Get-Content .\text.txt | Where-Object {$_ -notmatch 'the-word-in-specific-line'} | Set-Content out.txt
如果要删除第二行:

Get-Content .\test.txt | Where-Object {$_ -notmatch 'Brown'} | Set-Content out.txt
例如,它通过保留不包含特定内容的行来删除行

您可以通过保留不想删除的行来执行相同的操作

Get-Content .\text.txt | Where-Object {$_ -notmatch 'the-word-in-specific-line'} | Set-Content out.txt
如果要删除第二行:

Get-Content .\test.txt | Where-Object {$_ -notmatch 'Brown'} | Set-Content out.txt

这种方法对我来说是不确定的。有时它可以工作,有时它就像powershell完全忽略了它。你能描述一下它在什么情况下不工作吗?powershell似乎忽略了“Where Object{$\ notmatch'Brown'}”部分部分复制,整个复制thing@pctopgs如果你能提供你想要删除行的文件以及你使用的特定脚本,我将不胜感激。这种方法对我来说是不确定的。有时它可以工作,有时它就像powershell完全忽略了它。你能描述一下它在什么情况下不工作吗?powershell似乎忽略了“Where Object{$\ notmatch'Brown'}”部分部分复制,整个复制thing@pctopgs如果您能提供要从中删除行的文件以及所使用的特定脚本,我们将不胜感激。