Skip to main content

Ausgaben mit PowerShell filtern

Einleitung

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

Anwendung

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

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

Diesen üü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üDafür verwenden wir ein paar ArgumenteArgumente, die alle verwendet werden können.

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

Als zweites Argument gibt es noch -SimpleMatch. Damit teilst du der PowerShell mitmit, dasdass es sich nicht um einen ReguläRegulä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äerhältst nun gefilterte Ausgaben von PowerShell.