是否有支持无缓冲输出的 cat 替代方案?

Bla*_*ing 5 linux software-rec

我正在寻找一个程序来将标准输入复制到标准输出,同时显示控制字符(如cat -v)并且不等待 EOF(输入来自 a tail -f)。我有 GNU|Linux;在cat已安装忽略的-u标志。

小智 5

GNUcat忽略-u它,因为它的输出总是无缓冲的。因此,当您使用 请求无缓冲输出时-u,您会得到它(但即使您不要求它,您也会得到它)。

GNUtail具有相同的、始终无缓冲的行为。

为了证明这一点,我在一个 shell 中做了:

while :; do echo -ne "hello\t"; sleep 1;done > testtail
Run Code Online (Sandbox Code Playgroud)

每秒附加一个单词“hello”,后跟一个制表符(没有换行符)

在我做的另一个 shell 中(cat -T类似于cat -v- 它将标签显示为 ^I):

tail -f testtail | cat -T
Run Code Online (Sandbox Code Playgroud)

这给了我:

hello^Ihello^Ihello^Ihello^I ...
Run Code Online (Sandbox Code Playgroud)

每秒更新一次。