将管道命令重定向到 bash 中的文件

Redirecting piped command into a file in bash

我正在尝试执行以下操作:

ping some.server.com | grep -Po '(?<=\=)[0-9].\.[0-9]' >> file.dat

即我 运行 一个命令 (ping),grep 部分输出并将 grep 的结果重定向到一个文件中,以便稍后检查。虽然命令本身有效(即“>>”之前的部分),但没有任何内容写入文件。

如何正确执行此操作?

使用 --line-buffered 参数。

ping some.server.com | grep --line-buffered -Po '(?<=\=)[0-9].\.[0-9]' >> file.dat