2017-03-21 2 views
1

Ich lese eine Protokolldatei diesen Befehl in Powershell dynamisch mit:Wie kann ich PowerShell ein bestimmtes Wort in einer anderen Farbe anzeigen lassen?

Get-Content logfilename.log -Wait 

Ist es möglich, es mit einigen Befehl bestimmte Wörter in Farbe zu machen angezeigt werden? Zum Beispiel möchte ich alle Orte, wo es eine [Error] Zeichenfolge in der Datei in roter Farbe gibt.

+0

Siehe einen meiner anderen SO Antworten, die Ihre Bedürfnisse eingehen sollte: http: //stackoverflow.com/a/39486625/1368849 – TechSpud

Antwort

0

Ich glaube nicht, dass es eine Möglichkeit, dies mit dem -wait Parameter zu kombinieren ist, aber dies würde es tun, ohne:

$Content = Get-Content logfilename.log 

$Content | ForEach-Object { 
    $Words = $_ -Split " " 

    ForEach ($Word in $Words) { 
     If ($Word -eq '[Error]'){ 
      Write-Host "$Word " -NoNewline -ForegroundColor Red 
     } Else { 
      Write-Host "$Word " -NoNewline 
     } 
    } 
    Write-Host '' 
} 
+0

Beachten Sie, dass [Error] mit Leerzeichen angezeigt wird. Wenn Sie ohne Leerzeichen um es übereinstimmen möchten, müssen Sie für die Zeichenfolge übereinstimmen und es dann teilen. –

Verwandte Themen