459 Stimmen

Unix tail-Äquivalenzbefehl in Windows Powershell

Ich muss mir die letzten Zeilen einer großen Datei ansehen (typische Größe: 500MB-2GB). Ich suche nach einem Äquivalent zum Unix-Befehl tail für Windows Powershell. Ein paar Alternativen sind auf verfügbar,

http://tailforwin32.sourceforge.net/

et

Get-Content \[filename\] | Select-Object -Last 10

Für mich ist die erste Alternative nicht zulässig, und die zweite Alternative ist langsam. Kennt jemand eine effiziente Implementierung von tail für PowerShell.

624voto

ravikanth Punkte 23794

Verwenden Sie die -wait Parameter mit Get-Content, der Zeilen anzeigt, wenn sie der Datei hinzugefügt werden. Diese Funktion war in PowerShell v1 vorhanden, aber aus irgendeinem Grund in v2 nicht gut dokumentiert.

Hier ein Beispiel

Get-Content -Path "C:\scripts\test.txt" -Wait

Nach der Ausführung aktualisieren und speichern Sie die Datei und Sie werden die Änderungen auf der Konsole sehen.

297voto

George Mauer Punkte 109944

Der Vollständigkeit halber möchte ich noch erwähnen, dass Powershell 3.0 jetzt ein -Tail-Flag für Get-Content hat

Get-Content ./log.log -Tail 10

liefert die letzten 10 Zeilen der Datei

Get-Content ./log.log -Wait -Tail 10

holt die letzten 10 Zeilen der Datei und wartet auf weitere

Für die *nix-Benutzer sei noch angemerkt, dass die meisten Systeme alias Katze zu Get-Content, so dass dies normalerweise funktioniert

cat ./log.log -Tail 10

123voto

Dan Blanchard Punkte 3991

Ab PowerShell-Version 3.0 verfügt das Cmdlet "Get-Content" über eine -Schwanz Parameter, der helfen sollte. Siehe die Online-Hilfe der Technet-Bibliothek für Get-Content.

31voto

John Lockwood Punkte 3655

Ich habe einige der hier gegebenen Antworten verwendet, aber nur als Vorwarnung, dass

Get-Content -Path Yourfile.log -Tail 30 -Wait 

frisst nach einer Weile den Speicher auf. Ein Kollege hat in den letzten Tagen einen solchen "Schwanz" stehen lassen, der bis zu 800 MB groß wurde. Ich weiß nicht, ob sich Unix-Tail genauso verhält (aber ich bezweifle es). Für kurzfristige Anwendungen ist es also in Ordnung, aber seien Sie vorsichtig damit.

19voto

EvosDeMercile Punkte 151

Wahrscheinlich ist es zu spät für eine Antwort, aber versuchen Sie dies

Get-Content <filename> -tail <number of items wanted> -wait

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X