Een Windows-equivalent van het Unix-staartcommando

Ik ben op zoek naar het equivalent van het Unix ‘tail’-commando waarmee ik de uitvoer van een logbestand kan bekijken terwijl er naar wordt geschreven.


Antwoord 1, autoriteit 100%

Ik raad aan om iets als GNU Utilities for Win32te installeren. Het heeft de meeste favorieten, inclusief staart.


Antwoord 2, autoriteit 92%

Als je PowerShell gebruikt, werkt dit:

Get-Content filenamehere -Wait -Tail 30

Stefans commentaar van onderaf plaatsen, zodat mensen het niet missen

PowerShell 3 introduceert een -Tail parameter om alleen de laatste x regels op te nemen


Antwoord 3, autoriteit 48%

Ik heb altijd Baretailgebruikt voor tailing in Windows. Het is gratis en best aardig.

Bewerken: voor een betere beschrijving van Baretail zie deze vraag


Antwoord 4, autoriteit 23%

Je kunt staart krijgen als onderdeel van Cygwin.


Antwoord 5, autoriteit 18%

Iedereen die geïnteresseerd is in een DOSCMD-staart met batch-commando’s (zie hieronder).

Het is geen prefect, en lijnen herhalen zich soms.

Gebruik: 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

Antwoord 6, autoriteit 14%

Ik heb Tail For Windowsgebruikt. Zeker niet zo elegant als het gebruik van

tail

, maar dan gebruik je Windows. 😉


Antwoord 7, autoriteit 13%

Met Windows PowerShell kunt u het volgende gebruiken:

Get-Content <file> -Wait

Antwoord 8, autoriteit 11%

Als u helemaal niets wilt installeren, kunt u “uw eigen” batchbestand maken dat het werk doet met standaard Windows-commando’s. Hier zijn enkele aanwijzingen hoe u dit moet doen.

1) Gebruik find /c /v “” yourinput.fileom het aantal regels in je invoerbestand te krijgen. De uitvoer is zoiets als:

---------- T.TXT: 15

2) Gebruik for /fom deze uitvoer te ontleden om het getal 15 te krijgen.

3) Gebruik set /aom het aantal kopregels te berekenen dat moet worden overgeslagen

4) Gebruik for /f “skip=n”sla de kopregels over en echo/verwerk de staartregels.

Als ik de tijd heb, zal ik zo’n batchbestand maken en het hier opnieuw posten.

EDIT: tail.bat

REM tail.bat
REM
REM Usage: tail.bat <file> <number-of-lines> 
REM
REM Examples: tail.bat myfile.txt 10
REM           tail.bat "C:\My File\With\Spaces.txt" 10
@ECHO OFF
for /f "tokens=2-3 delims=:" %%f in ('find /c /v "" %1') do (
    for %%F in (%%f %%g) do set nbLines=%%F )
set /a nbSkippedLines=%nbLines%-%2
for /f "usebackq skip=%nbSkippedLines% delims=" %%d in (%1) do echo %%d

Antwoord 9, autoriteit 11%

Ik heb Log Expert nergens gezien tussen de antwoorden hier.

Het is aanpasbaar en is heel goed om logbestanden te omzeilen. Tot nu toe is het voor mij de beste grafische logboekviewer van Windows.

Helaas is deze software niet langer beschikbaar. Je kunt erover lezen op archive.org.


Antwoord 10, autoriteit 7%

Ik heb onlangs Mtailgebruikt en het lijkt goed te werken. Dit is het GUI-type zoals hierboven vermeld baretail.


Antwoord 11, autoriteit 4%

Download de tail-opdracht, onderdeel van Windows Server 2003 Resource Kit Toolsvan Microsoftzelf.


Antwoord 12, autoriteit 4%

Probeer Windows Services voor UNIX. Biedt schelpen, awk, sed, enz. evenals staart.

Update-: vanaf 2019 is dit systeem helaas niet meer beschikbaar in het Microsoft Downloadcentrum.


Antwoord 13, autoriteit 3%

Ik geef de voorkeur aan Tailme vanwege de mogelijkheid om meerdere logbestanden tegelijkertijd in één venster te bekijken: http://www.dschensky.de/software/staff/tailme_en.htm


14, Autoriteit 3%

DOS heeft geen staartopdracht; U kunt een Windows-binair indienen voor GNU-staart en andere GNU-tools hier .


15, Autoriteit 3%

Een andere optie zou zijn om MSYS (die meer leightweight dan cygwin is).


16, Autoriteit 3%

Dos’s typeWerkt zoals * NUX’s cat, hoewel net als cat, het dumpt het hele bestand, dus het is niet echt een waar tail, maar het wordt verkrijgbaar in een snuifje zonder het downloaden / installeren van een echte tailsubstituut.


17, Autoriteit 3%

Ik heb net dit kleine batch-script geschreven. Het is niet zo geavanceerd als de UNIX-“staart”, maar hopelijk kan iemand eraan toevoegen om het te verbeteren, zoals het beperken van de uitvoer naar de laatste 10 regels van het bestand, enz. Als u dit script doet, stuur het dan voor mij bij Robbing ~ [AT] ~ Gmail.com.

@echo off
:: This is a batch script I wrote to mimic the 'tail' UNIX command.
:: It is far from perfect, but I am posting it in the hopes that it will
:: be improved by other people. This was designed to work on Windows 7.
:: I have not tested it on any other versions of Windows
if "%1" == "" goto noarg
if "%1" == "/?" goto help
if "%1" == "-?" goto help
if NOT EXIST %1 goto notfound
set taildelay=%2
if "%taildelay%"=="" set taildelay=1
:loop
cls
type %1
:: I use the CHOICE command to create a delay in batch.
CHOICE /C YN /D Y /N /T %taildelay%
goto loop
:: Error handlers
:noarg
echo No arguments given. Try /? for help.
goto die
:notfound
echo The file '%1' could not be found.
goto die
:: Help text
:help
echo TAIL filename [seconds]
:: I use the call more pipe as a way to insert blank lines since echo. doesnt
:: seem to work on Windows 7
call | more
echo Description:
echo     This is a Windows version of the UNIX 'tail' command.
echo     Written completely from scratch by Andrey G.
call | more
echo Parameters:
echo    filename             The name of the file to display
call | more
echo    [seconds]            The number of seconds to delay before reloading the
echo                         file and displaying it again. Default is set to 1
call | more
echo ú  /?                   Displays this help message
call | more
echo    NOTE:
echo    To exit while TAIL is running, press CTRL+C.
call | more
echo Example:
echo    TAIL foo 5
call | more
echo    Will display the contents of the file 'foo',
echo    refreshing every 5 seconds.
call | more
:: This is the end
:die

18, Autoriteit 3%

De tailcommando en vele anderen zijn Verkrijgbaar in de Windows Resource Kit Tools pakket.


19, Autoriteit 2%

Als u Win32-poorten van sommige UNIX-hulpprogramma’s wilt gebruiken (in plaats van het installeren van Cygwin), raad ik GNU-hulpprogramma’s voor Win32 .

lichter gewicht dan cygwin en draagbaarder.


20, Autoriteit 2%

Installeer MKS Toolkit… Zodat u alle Unix-commando’s op Windows kunt uitvoeren.

Het commando is:

tail -f <file-name>  

Antwoord 21, autoriteit 2%

Druk in Far Managerop F3op een bestand om de standaardviewer te openen en vervolgens de End-toets om naar het einde van het bestand te navigeren.

Als het bestand is bijgewerkt, zal Far Manager er automatisch doorheen scrollen.


Antwoord 22

Ik gebruik Kiwi Log Viewer. Het is gratis.


Antwoord 23

Grafische logviewers, hoewel ze heel goed kunnen zijn voor het bekijken van logbestanden, voldoen niet aan de behoefte aan een opdrachtregelprogramma dat in scripts (of batchbestanden) kan worden opgenomen. Vaak kan zo'n eenvoudig en algemeen commando worden gebruikt als onderdeel van een gespecialiseerde oplossing voor een bepaalde omgeving. Grafische methoden lenen zich niet snel voor dergelijk gebruik.


Antwoord 24

Je kunt ook WinTailproberen.

ََ


Antwoord 25

Ik denk dat ik een hulpprogramma heb gevonden dat voldoet aan de behoefte aan de staartfunctie in batchbestanden. Het heet "mtee", en het is gratis. Ik heb het opgenomen in een batchbestand waar ik aan werk en het doet het werk heel goed. Zorg ervoor dat u het uitvoerbare bestand in een map in de PATH-instructie plaatst, en u kunt beginnen.

Hier is de link:

mtee

Other episodes