Windows-эквивалент хвостовой команды Unix [закрыто]

391
задан Peter Mortensen 8 September 2018 в 20:43
поделиться

18 ответов

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

132
ответ дан Community 9 September 2018 в 06:43
поделиться

Попробуйте Windows Services за UNIX. Обеспечивает оболочки, awk, sed, и т.д. а также хвост.

6
ответ дан Dave 9 September 2018 в 06:43
поделиться
  • 1
    Я столкнулся с той же проблемой как люди выше, я не знаю то, что вызывает это, но это, кажется, не работает (по крайней мере, с iOS 7) – Julian Król 30 January 2014 в 01:32

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

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

3
ответ дан Grant Wagner 9 September 2018 в 06:43
поделиться
  • 1
    ха, плохой импорт, который не обнаруживается во время компиляции, является болью...:-), – leonbloy 27 April 2010 в 08:08

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

1) Используя [1 110] находят/c/v "" yourinput.file, получают количество строк в Вашем входном файле. Вывод - что-то как:

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

2) Используя [1 111] для/f, проанализируйте этот вывод для получения номера 15.

3) Используя [1 112]/a набора, вычислите количество главных строк, которое должно быть пропущено

4) Используя [1 113] для/f "skip=n", пропускают главные строки и повторяют/обрабатывают строки хвоста.

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

РЕДАКТИРОВАНИЕ: 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
12
ответ дан André Chalella 9 September 2018 в 06:43
поделиться
  • 1
    Ваш метод работает как очарование. Мы можем отключить/разрешить Wi-Fi через наше собственное Приложение? – Rahul Vyas 21 March 2014 в 18:57

Я использовал Хвост Для Windows . Конечно, не столь изящный как использование

tail
, но затем, Вы используете Windows.;)
18
ответ дан Jake 9 September 2018 в 06:43
поделиться

Существует множество опций, однако у всех них есть дефекты с большим количеством расширенных функций.

  • Инструменты Windows Server 2003 обеспечивают простой хвост, который может быть загружен Инструментами Набора Ресурса . Это слишком ограничено во многих отношениях (блокировки сопровождаемый файл, испытывает недостаток во многих опциях как - pid), однако сделает для основной задачи отслеживания файла.

  • хвост GnuWin32 является багги ( О± ОІ Оі ) - вещи как-f просто не работают.

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

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

22
ответ дан gz. 9 September 2018 в 06:43
поделиться
  • 1
    Если Ваше приложение не для Appstore, можно достигнуть путем сцепления класса SBWiFiManager в трамплине для знания большего количества посещения stackoverflow.com/a/22590416/730807 – Durai Amuthan.H 24 March 2014 в 18:10

Можно получить хвост как часть Cygwin.

31
ответ дан Quentin 9 September 2018 в 06:43
поделиться

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

Редактирование: поскольку лучшее описание Baretail видит этот вопрос

62
ответ дан Community 9 September 2018 в 06:43
поделиться
  • 1
    Или даже firstpart, secondpart = string[::2], string[1::2] начиная с вопроса didn' t определяют, что части должны были быть непрерывными. – Duncan 25 January 2011 в 19:16

При использовании PowerShell затем, это работает:

Get-Content filenamehere -Wait -Tail 30

комментарий Добавляющего Stefan снизу, таким образом, люди не пропускают его

, PowerShell 3 представляет - параметр Хвоста для включения только последних x строк

406
ответ дан SliverNinja - MSFT 9 September 2018 в 06:43
поделиться

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

4
ответ дан 22 November 2019 в 23:40
поделиться

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

4
ответ дан 22 November 2019 в 23:40
поделиться

Загрузить хвостовую команду, часть Windows Инструменты набора ресурсов Server 2003 от самой Microsoft .

5
ответ дан 22 November 2019 в 23:40
поделиться

Another option would be to install MSYS (which is more leightweight than Cygwin).

4
ответ дан 22 November 2019 в 23:40
поделиться

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

4
ответ дан 22 November 2019 в 23:40
поделиться

With Windows PowerShell you can use:

Get-Content <file> -Wait
14
ответ дан 22 November 2019 в 23:40
поделиться

Любой, кто интересуется хвостом CMD DOS с использованием пакетных команд (см. Ниже).

Это не префект, и строки иногда повторяются.

Использование: tail. летучая мышь -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
23
ответ дан 22 November 2019 в 23:40
поделиться

Установить MKS Toolkit ... Чтобы вы могли запускать все команды Unix в Windows.

Команда:

tail -f <file-name>  
3
ответ дан 22 November 2019 в 23:40
поделиться

Вы можете попробовать WinTail.

ََ

0
ответ дан 22 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: