我正在寻找Unix 'tail'命令的等效,这将允许我观察日志文件的输出,而它正在被写入。
当前回答
图形化日志查看器虽然可能非常适合查看日志文件,但不能满足可以合并到脚本(或批处理文件)中的命令行实用程序的需求。通常,这样一个简单的通用命令可以作为特定环境的专门解决方案的一部分使用。图形化方法并不适合这种用途。
其他回答
使用Windows PowerShell,您可以使用:
Get-Content <file> -Wait
任何人对使用批处理命令(见下文)的DOS CMD尾部感兴趣。
它不是完美的,有时台词会重复。
用法:tail.bat -d 尾巴,蝙蝠-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
有相当多的选择,但他们都有更高级的功能缺陷。
GnuWin32尾巴是错误的(α β γ) -像-f只是不工作。 UnxUtils尾部似乎更好(-f工作,但-pid似乎不是,-n但不是——lines=n失败与-f),但似乎是一个死亡的项目。 Cygwin是一个巨大的丑陋的混乱,可能只需要使用DLL和coreutils包-但仍然存在问题,如pid不能与本机win32进程一起工作。
如果你想使用Win32端口的一些Unix实用程序(而不是安装Cygwin),我推荐Win32的GNU实用程序。
重量比Cygwin轻,更轻便。
安装MKS Toolkit…这样你就可以在Windows上运行所有的Unix命令。
命令如下:
tail -f <file-name>
推荐文章
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 如何在Windows命令提示符下运行.sh ?
- 如何从命令行在windows中找到mysql数据目录
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12