Окна, эквивалентную команду Tail в Unix [закрыт]
Я ищу эквивалент команды Unix 'tail', которая позволит мне наблюдать за выводом файла журнала во время его записи.
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 для UNIX. Обеспечивает снаряды, awk, sed и др. как и хвост.
Я использовал Mtail недавно, и это, кажется, работает хорошо. Это тип графического интерфейса, такой как baretail, упомянутый выше.
загрузите хвостовую команду, часть
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
, но он будет доступен в крайнем случае без загрузки / установки truetail
заменить.
на Far Manager пресс F3 в файл ввести стандартный просмотрщик, затем конец клавиша для перехода к концу файла. Если файл обновляется-Far будет прокручивать его автоматически.
графические средства просмотра журналов, хотя они могут быть очень хороши для просмотра файлов журналов, не удовлетворяют потребности в утилите командной строки, которая может быть включена в сценарии (или пакетные файлы). Часто такую простую и универсальную команду можно использовать как часть специализированного решения для конкретной среды. Графические методы не легко поддаются такому использованию.
Я думаю, что нашел утилиту, которая удовлетворяет потребность в функции хвоста в пакетных файлах. Это называется "МТИ", и это бесплатно. Я включил его в пакетный файл, над которым я работаю, и он делает работу очень хорошо. Просто убедитесь, что вы поместили исполняемый файл в каталог в инструкции PATH и ушли.
вот ссылка:
вы можете попробовать WinTail Как хорошо.
َ َ