Linux watch 命令的 Windows 类似物是什么?

Linux watch 命令的 Windows 类似物是什么?

我正在寻找一个像 Linuxwatch程序一样工作的 Windows 程序/脚本/命令行功能。

watch定期调用另一个程序/其他程序并显示结果,这对于每秒刷新输出文件或类似文件非常有用:

watch cat my-output.txt

或者更有力地说:

watch grep "fail" my-output.txt

我已经在 cygwin 的库中寻找过它,但是它似乎不存在。

答案1

watch在 Cygwin 中可用,在procps-ng列出的 ⁰ 包中这里(此信息可通过网站上的软件包搜索找到,这里)。我不认为这个包是由默认的 cygwin 设置安装的,但是我通常在新安装时选择它以便可以使用 watch 命令。

软件包中工具的位置通常与 Linux 发行版中的软件包名称相匹配(watch在 Debian 和 Ubuntu 上,包含该软件包的软件包也是 procps),因此如果 Cygwin 软件包搜索功能失败,Linux 发行版的信息可能会提供线索。在此示例中,不再是确切的命名,尽管搜索 procps 会找到 procps-ng。

--

[0]procps现已弃用(如前所述这里这里),原始软件包停止维护,一些发行版将其分叉以应用待处理的补丁。在某些地方它仍被这样称呼procps,但在其他地方,如 cygwin,则使用了新名称

答案2

编写你自己的。假设文件watch.bat包含:

@ECHO OFF
:loop
  cls
  %*
  timeout /t 5 > NUL
goto loop

并通过以下方式调用它,例如:

watch echo test

test每 5 秒回显一次。

答案3

Powershell 有while命令。你可以像在 Linux 中一样使用它:

while (1) {your_command; sleep 5}

Linux 版本:

while true; do your_command; sleep5; done

其他的:

while ($true) {netstat -an | findstr 23560; sleep 5; date}

答案4

这是一个 PowerShell 单行代码:

while ($true) { <your command here> | Out-Host; Sleep 5; Clear }

相关内容