Skip to main content

Ausgaben mit PowerShell filtern

Einleitung

Wenn du z.B. größeregrößere Log Dateien durchforsten möchtest,möchtest, ist das filtern nach bestimmten WörternWörtern oder Regulärenregulären AusdrückenAusdrücken sehr hilfreich. Dies kannst du mit der PowerShell realisieren.

Anwendung

Du musst im ersten Schritt die Datei einlesen, dann könnenkönnen diese Daten weiter verarbeitet werden.

Get-Content "C:\temp\log.txt"

Diesen übergebenübergeben wir mit der Pipeline Variable an die Zeilenweise Ausgabe der Datei.

Get-Content "C:\temp\log.txt" | Out-String -Stream

Im letzten Schritt filterst du mithilfe von Select-String die Ausgaben. DafürDafür verwenden wir ein paar ArgumenteArgumente, die alle verwendet werden könnenkönnen.

Zuerst gibt es das Argument -Pattern. Mit diesem gibst du den Text anan, nachdem gesucht werden soll. Es könnenkönnen hierbei auch ReguläreReguläre AusdrückeAusdrücke verwendet werden. 

Als zweites Argument gibt es noch -SimpleMatch. Damit teilst du der PowerShell mitmit, dasdass es sich nicht um einen RegulärenRegulären Ausdruck handelt.

Als letztesLetztes gibt es noch -CaseSensitive. Hier wird dann auch auf Groß-Groß- und Kleinschreibung geachtet.

Wir suchen in unserem Beispiel nach allen EinträgenEinträgen, die das Wort "Hardware" enthalten.

Ein Wert nach dem gesucht werden soll

Get-Content "C:\temp\log.txt" | Out-String -Stream | Select-String -Pattern "Hardware" -SimpleMatch

Mehrere Werte nach dem gesucht werden soll

Get-Content "C:\temp\log.txt" | Out-String -Stream | Select-String -Pattern "Hardware","Software","Netzwerk" -SimpleMatch

Du erhältsterhältst nun gefilterte Ausgaben von PowerShell.