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.