PowerShell mehrere Wörter suchen und ganze Zeile löschen
Guten Tag,
ich möchte mehrere Zeilen in einer Textdatei löschen lassen, wo bestimmte Wörter enthalten sind.
Beispiel:
und als Ausgabe sollte es dann so aussehen:
Ich schaffe es bisher nur das ganze mit einem Wort zu machen:
Sobald ich das zweite Wort mit einfüge wird nichts mehr gelöscht.
Würde mich freuen, wenn mir jemand behilflich sein könnte
ich möchte mehrere Zeilen in einer Textdatei löschen lassen, wo bestimmte Wörter enthalten sind.
Beispiel:
Gras
Baum
Wolken
Erde
Gras
Wolken
Ich schaffe es bisher nur das ganze mit einem Wort zu machen:
clear-Host
$file = Get-Content .\Test.txt
$Wort1 = '*Baum*'
$Wort2 = '*Erde*'
$str | out-file .\Test-Output.txt
foreach ($str in $file)
{
if ($str -like ($Wort1))
{
} else {
$str | out-file .\Test-Output.txt -append
}
}
Würde mich freuen, wenn mir jemand behilflich sein könnte
Please also mark the comments that contributed to the solution of the article
Content-Key: 665767
Url: https://administrator.de/contentid/665767
Printed on: April 24, 2024 at 22:04 o'clock
5 Comments
Latest comment
$words = 'Baum','Erde'
$filter = ($words | %{[regex]::Escape($_)}) -join '|'
gc .\Test.txt | ?{$_ -notmatch $filter} | sc .\test-output.txt
Gruß w.
Alternativ zu oben kannst du es auch einfach mit Select-String machen das macht es noch kürzer und übersichtlicher
sls .\test.txt -Pattern 'Baum','Erde' -SimpleMatch -NotMatch | select -Expand Line | sc .\test-output.txt