读取串行输出,删除空值并保存到文件

读取串行输出,删除空值并保存到文件

在 Cygwin 中,我尝试读取串行端口输入,过滤它以删除空字符,并将输出保存到文件。类似以下内容,导致日志文件为空:

cat /dev/ttyS1 | tr -d '\000' >myfile.log

这在终端上显示标准输出:

cat /dev/ttyS1 | tr -d '\000'

我尝试使用stdbuf -oL -eL,每这个帖子,但无济于事。

奖励积分您是否可以让它与终端上的 grep 过滤 stdout 一起工作(即将所有内容记录到文件中,但只能在终端上看到过滤后的输出)。

cat /dev/ttyS1 | tr -d '\000' | tee myfile.log | egrep --line-buffered "WARN|ERROR"

注意:我使用的串行端口是 FTDI USB 串行适配器。

相关内容