在 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 串行适配器。