Un equivalente de Windows del comando tail de Unix [cerrado]
Estoy buscando el equivalente del comando 'tail' de Unix que me permitirá observar la salida de un archivo de registro mientras se escribe en él.
Aceptado
Si usas PowerShell entonces esto funciona:
Get-Content filenamehere -Wait -Tail 30
Publicar el comentario de Stefan desde abajo para que la gente no se lo pierda.
PowerShell 3 introduce un parámetro -Tail para incluir solo las últimas x líneas
Sugeriría instalar algo como GNU Utilities para Win32 . Tiene la mayoría de los favoritos, incluida la cola.
Siempre he usado Baretail para seguir en Windows. Es gratis y bastante bonito.
Puedes obtener cola como parte de Cygwin .
Cualquiera interesado en una cola CMD de DOS que utilice comandos por lotes (ver más abajo).
No es perfecto y las líneas a veces se repiten.
Uso: tail.bat -d tail.bat -f -f
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
rem tail.bat -d <lines> <file>
rem tail.bat -f <file>
rem ****** MAIN ******
IF "%1"=="-d" GOTO displayfile
IF "%1"=="-f" GOTO followfile
GOTO end
rem ************
rem Show Last n lines of file
rem ************
:displayfile
SET skiplines=%2
SET sourcefile=%3
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%find_lc%-!skiplines!
rem *** Display to screen line needed
more +%skiplines% %sourcefile%
GOTO end
rem ************
rem Show Last n lines of file & follow output
rem ************
:followfile
SET skiplines=0
SET findend_lc=0
SET sourcefile=%2
:followloop
rem *** Get the current line count of file ***
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET find_lc=%%l)
FOR /F "usebackq tokens=3,3 delims= " %%l IN (`find /c /v "" %sourcefile%`) DO (call SET findend_lc=%%l)
rem *** Calculate the lines to skip
SET /A skiplines=%findend_lc%-%find_lc%
SET /A skiplines=%find_lc%-%skiplines%
rem *** Display to screen line when file updated
more +%skiplines% %sourcefile%
goto followloop
:end