derhoeppi
Goto Top

Powershell Get-Content Inhalt filtern

Guten Morgen,

ich habe eine Textdatei nach dem Beispielhaften Muster
Das ist eins
Wir sind hier
Er ist es nicht
Schau mal
Nun möchte ich diese Datei einlesen, aber bestimmte Zeilen filtern, die ein Muster aufweisen. Mein Code dazu sieht folgendermaßen aus:

$IgnoreStrings = "Das ist*","Es ist"  
Get-Content File.txt | ?{$_ -notlike $IgnoreStrings}

Das Ergebnis filtert mir leider nicht die erwünschten Zeilen, so dass alle vier ausgegeben werden. Statt -notlike habe ich ebenfalls bereits -notmatch versucht. Kann mir jemand einen Tipp geben, weshalb es nicht funktioniert.

Gruß
derhoeppi

Content-Key: 326518

Url: https://administrator.de/contentid/326518

Printed on: April 24, 2024 at 20:04 o'clock

Mitglied: 131381
Solution 131381 Jan 16, 2017 updated at 09:18:26 (UTC)
Goto Top
Moin,
die Daten für -notlike dürfen kein Array sein! Für sowas nach eine Schleife über die Suchbegriffe und filtere in der Schleife.
$content = gc file.txt
$IgnoreStrings = "Das ist*","Es ist*"  
$IgnoreStrings | %{$content = $content -notlike $_}
$content
oder per Regex so
$ignorepattern = "^(Das ist|Es ist)"  
(gc file.txt) -notmatch $ignorepattern

Gruß mik