Окна, эквивалентную команду Tail в Unix [закрыт]


Я ищу эквивалент команды Unix 'tail', которая позволит мне наблюдать за выводом файла журнала во время его записи.

26 342

26 ответов:

Я бы предложил установить что-то вроде утилиты GNU для Win32. Он имеет большинство фаворитов, в том числе хвост.

Если вы используете PowerShell, то это работает:

Get-Content filenamehere -Wait -Tail 30

размещение комментария Стефана снизу, так что люди не пропустите его

PowerShell 3 вводит параметр-Tail, чтобы включить только последние X строк

Я всегда использовал Baretail для хвостовых в Windows. Это бесплатно и довольно приятно.

Edit: для лучшего описания Baretail см. этот вопрос

вы можете получить хвост как часть программа.

есть довольно много вариантов, однако все они имеют недостатки с более продвинутыми функциями.

  • The Windows Server 2003 Tools обеспечивает простой хвост, который может быть загружено с помощью Resource Kit Tools. Он слишком ограничен во многих отношениях (блокировки следуют за файлом, не хватает многих опций, таких как --pid), однако будет делать для основной задачи отслеживания файла.

  • хвост GnuWin32 глючит (αβγ) - такие вещи, как-f просто не работают.

  • хвост UnxUtils кажется лучше (- f работает, но --pid, кажется, нет,- n но не --lines=N терпит неудачу с-f), но, похоже, мертвый проект.

  • программа это большая уродливая кашица, может быть, просто использовать DLL и coreutils package - но все еще есть проблемы, как --pid не работает с родной win32 процессы.

кого интересует DOS хвост CMD с помощью пакетных команд (см. ниже) Его не префект и строки когда-нибудь повторяются.

использование: хвост.летучая мышь -д хвост.бат-ф-ф

@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

я использовал Хвост Для Windows. Конечно, не так элегантно, как с помощью

tail
но тогда вы используете Windows. ;)

Я не видел Log Expert где - нибудь среди ответов здесь.

он настраивается и довольно хорошо подходит для обхода файлов журналов. До сих пор это лучший графический просмотрщик журналов Windows для меня.

Если вы не хотите ничего устанавливать, вы можете" создать свой собственный " пакетный файл, который выполняет эту работу из стандартных команд Windows. Вот несколько советов о том, как это сделать.

1) с помощью найти /c / v "" yourinput.файл, получить количество строк во входном файле. На выходе получается что-то вроде:

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

2) с помощью for / f, проанализируйте этот вывод, чтобы получить число 15.

3) с помощью set / a, расчета количество строк заголовка, которые необходимо пропустить

4) с помощью for /f "skip=n" пропустить главные линии и Эхо / обработать хвостовые линии.

Если я найду время, я создам такой пакетный файл и запостить сюда.

С помощью Windows PowerShell вы можете использовать:

Get-Content <file> -Wait

попробовать службы Windows для UNIX. Обеспечивает снаряды, awk, sed и др. как и хвост.

Я использовал Mtail недавно, и это, кажется, работает хорошо. Это тип графического интерфейса, такой как baretail, упомянутый выше. enter image description here

загрузите хвостовую команду, часть Windows Server 2003 Resource Kit Tools с Microsoft сам по себе.

Я предпочитаю TailMe из-за возможности смотреть несколько файлов журнала одновременно в одном окне:http://www.dschensky.de/Software/Staff/tailme_en.htm

DOS и нет хвостовой команды; вы можете скачать двоичный файл Windows для GNU tail и других инструментов GNU здесь.

другой вариант-установить MSYS (что больше веса, чем Cygwin).

The хвост команда и многие другие доступны в пакете инструментов Windows Resource Kit от http://www.microsoft.com/en-us/download/details.aspx?id=17657

Я только что написал этот маленький пакетный скрипт. Это не так сложно, как "хвост" Unix, но, надеюсь, кто-то может добавить к нему, чтобы улучшить его, например, ограничить вывод до последних 10 строк файла и т. д. Если вы улучшите этот скрипт, пожалуйста, пришлите его мне в 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

Если вы хотите использовать порты Win32 некоторых утилит Unix (а не устанавливать Cygwin), я рекомендую утилиты GNU для Win32.

более легкий вес, чем Cygwin и более портативный.

установите набор инструментов MKS.. так что вы можете запускать все команды unix в windows.

tail-f-это команда.

DOS type работает как *, хотя так же, как cat, он сбрасывает весь файл, так что это не совсем правда tail, но он будет доступен в крайнем случае без загрузки / установки true tail заменить.

на Far Manager пресс F3 в файл ввести стандартный просмотрщик, затем конец клавиша для перехода к концу файла. Если файл обновляется-Far будет прокручивать его автоматически.

Я использую Просмотр Журнала Киви. Это бесплатно.

графические средства просмотра журналов, хотя они могут быть очень хороши для просмотра файлов журналов, не удовлетворяют потребности в утилите командной строки, которая может быть включена в сценарии (или пакетные файлы). Часто такую простую и универсальную команду можно использовать как часть специализированного решения для конкретной среды. Графические методы не легко поддаются такому использованию.

Я думаю, что нашел утилиту, которая удовлетворяет потребность в функции хвоста в пакетных файлах. Это называется "МТИ", и это бесплатно. Я включил его в пакетный файл, над которым я работаю, и он делает работу очень хорошо. Просто убедитесь, что вы поместили исполняемый файл в каталог в инструкции PATH и ушли.

вот ссылка:

mtee

вы можете попробовать WinTail Как хорошо.

َ َ