在 docker 中搜索字符串登录 Windows

search for a string in docker logs in Windows

在 Linux 我曾经触发过这个命令

docker logs wp-mysql 2>&1 | grep "ready for connections"

不过,我想在 Windows

上搜索字符串

我尝试了以下两次尝试,但它不仅显示了搜索到的行,还显示了一些我不需要的额外行。

docker logs wp-mysql 2>&1 | findstr "ready for connections"

docker logs wp-mysql 2> >(findstr 'ready for connections')

你能推荐一个 grep 替代方案来搜索 docker 登录 Windows 中的字符串吗?

findstr 的工作原理

此命令搜索任何字符串“ready”、“for”或“connections”:

findstr "ready for connections"

此命令搜索字符串“ready for connections”:

findstr /C:"ready for connections"

解决方案

此命令应该可以解决您的问题:

docker logs wp-mysql 2>&1 | findstr /C:"ready for connections"

备选方案

或者这个,前提是本机 windows 命令 find 是在您的路径中找到的第一个,默认安装位置在 C:\Windows\System32,但有些人更喜欢将 unix find 命令的路径放在内置 windows find 命令之前:

docker logs wp-mysql 2>&1 | find "ready for connections"

信息

使用选项 /?展示如何使用 windows 命令行实用程序。查看这两个命令的输出:

findstr /?
find /?