Windows尾部命令的Windows等价物

Lia*_*iam 400 windows tail

我正在寻找相当于Unix'tail'的命令,它允许我在写入时查看日志文件的输出.

Ale*_*lex 417

如果您使用PowerShell,那么这适用:

Get-Content filenamehere -Wait -Tail 30
Run Code Online (Sandbox Code Playgroud)

从下面发布Stefan的评论,所以人们不要错过它

PowerShell 3引入了一个-Tail参数,仅包含最后的x行

  • PowerShell 3引入了一个-Tail参数,仅包含最后的x行 (17认同)
  • 这是很好的了解; 谢谢.但是我遇到了一些问题(在Windows 7上).(1)它显示整个文件(不适合大量日志文件,这就是为什么`tail`可能有用)(2)它不像我想的那样动态(可能是由于我的设置之间的OS /文件系统更改)和其他海报?).也就是说,我确定执行`Get-Content`的shell有时不会更新,直到我在另一个shell中运行`dir`. (16认同)
  • 实际上这不是动态的 (11认同)
  • 我认为值得一提的是,如果您在终端窗口中选择了一些内容,PowerShell将暂停滚动/输出,以便您有机会阅读,复制/粘贴等.如果按Enter键,它将恢复滚动. (8认同)
  • 因此,Powershell的正确答案不应该是"Get-Content -Tail 100 -Wait.\ logfile.log". (7认同)
  • 当我只需要最后一行时,使用1 GB日志文件不能很好地工作 (3认同)
  • `Get-Content myTestLog.log -wait | 其中{$ _ -match"警告"}很好地使用正则表达式过滤日志http://stackify.com/11-ways-to-tail-a-log-file-on-windows-unix/ (3认同)
  • 这对我来说很有活力. (2认同)

Rya*_*eld 133

我建议安装类似GNU Utilities for Win32的东西.它最受欢迎,包括尾巴.

  • 我只是尝试在2GB文件上使用GNU的`tail`并且它被阻塞了.`more`工作正常(至少查看文件的开头). (4认同)

Ins*_*oup 62

我总是使用Baretail在Windows中进行拖尾.这是免费的,非常好.

编辑:有关Baretail的更好描述,请参阅此问题

  • 我发现他们一直维护网站并更新 SSL 证书,这让我很惊讶,而该软件自 2006 年以来就没有升级。不过它运行良好。正是我需要的。Windows Defender 未发现任何威胁。 (2认同)

Que*_*tin 31

你可以把尾巴作为Cygwin的一部分.


小智 23

任何对使用批处理命令的DOS CMD尾部感兴趣的人(见下文).

这不是完美的,有时会重复.

用法: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
Run Code Online (Sandbox Code Playgroud)

  • 如果可以使用“timeout /t 2”,为什么还要使用 ping 呢? (2认同)

gz.*_*gz. 22

有很多选项,但是它们都有更多高级功能的缺陷.


Jak*_*ake 18

我用过Tail For Windows.当然不如使用优雅

tail
但是,你正在使用Windows.;)

  • 拥有图形版本不那么优雅,因为打开应用程序,以图形方式选择文件,并手动打开监视有开销.在命令行上,它只是几个按键.是我的意思.切,不,我不会将Windows描述为"优雅". (16认同)
  • 我没有发现你的暗示第三方工具的优雅取决于它运行的操作系统非常有用.当然,具有grahical版本的"tail"并不像其他答案提出的命令行替代品那样优雅. (13认同)
  • 有一个图形非优雅的Windows程序,这样做=>窗口是非优雅的.伟大的逻辑!特别是当Microsoft提供的powershell和资源工具包支持优雅版本的功能时... (3认同)

Grz*_*lak 15

我没有在这里的答案中看到Log Expert.

它是可定制的,非常适合浏览日志文件.到目前为止,它是我最好的Windows图形日志查看器.


Osc*_*Ryz 14

使用Windows PowerShell,您可以使用:

Get-Content <file> -Wait
Run Code Online (Sandbox Code Playgroud)


Phi*_*sse 12

如果您根本不想安装任何东西,可以"构建自己的"批处理文件,从标准Windows命令执行该任务.以下是关于如何做到这一点的一些指示.

1)使用find/c/v""yourinput.file,获取输入文件中的行数.输出类似于:

---------- T.TXT: 15
Run Code Online (Sandbox Code Playgroud)

2)使用for/f,解析此输出以获得数字15.

3)使用set/a,计算需要跳过的头行数

4)使用for/f"skip = n"跳过头行并回显/处理尾线.

如果我找到时间,我将构建这样一个批处理文件并将其发回此处.

  • Windows是如此的快乐.当DOS首先"出现"子目录时,我进入了Unix,并且厌恶看到它们使用\作为路径分隔符而不是/(如上帝所预期的).从那时起,这就是从MS出来的所有不兼容的BS的预示.MS甚至有grep吗? (12认同)
  • 这是前面解释的批次.它显示当前文件的最后10行:____ for/f"tokens = 3"%% f in('find/c/v""%0")do nbLines = %% f ____ set/a nbSkippedLines = %nbLines%-10 ____ for/f"skip =%nbSkippedLines%delims ="%% d in(%0)do echo %% d (5认同)
  • 这正是发帖者想要的,而且效果很好。 (2认同)

Vij*_*jay 7

我最近使用过Mtail,它看起来效果很好.这是GUI类型,如上面提到的baretail. 在此输入图像描述


Dav*_*ave 6

尝试使用Windows Services for UNIX.提供贝壳,awk,sed等以及尾部.

  • @Dave:即使这个问题很老,人们仍然在寻找最佳答案.如果即使差不多5年前的答案不再具有相关性或优势,那么为什么不应该为此投票呢?整个网站都是为了更快地获取有价值的信息 - 今天,而不是5年前. (8认同)

ism*_*ail 5

Windows Server 2003 Resource Kit ToolsMicrosoft本身下载tail命令.