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-ID: 326518

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

Ausgedruckt am: 24.11.2024 um 02:11 Uhr

131381
Lösung 131381 16.01.2017 aktualisiert um 10:18:26 Uhr
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