Ausgaben mit PowerShell filtern
Einleitung
Wenn du z.B. größgrößere Log Dateien durchforsten mömöchtest, ist das filtern nach bestimmten Wö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ö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ökönnen.
Zuerst gibt es das Argument -Pattern. Mit diesem gibst du den Text anan, nachdem gesucht werden soll. Es kö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.