首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤gnu-screen写入日志的行

如何过滤gnu-screen写入日志的行
EN

Stack Overflow用户
提问于 2019-07-23 03:33:05
回答 1查看 52关注 0票数 0

我有一个设备,我可以使用screen记录它的输出:

代码语言:javascript
复制
screen -L log.txt /dev/ttyUSB0 115200

log.txt文件将包含如下条目:

代码语言:javascript
复制
Seconds:      2001.609
Centigrade:   38.780
Humidity %:   29.534

Seconds:      2002.756
Centigrade:   38.950
Humidity %:   29.274

在每个数据块之间有一个空行。我想删除空行和第二行,以获得:

代码语言:javascript
复制
Centigrade:   38.780
Humidity %:   29.534
Centigrade:   38.950
Humidity %:   29.274

有没有办法用screen做到这一点?还是说后期处理是唯一的选择?如果可以运行grep,那么我还可以添加一个awk来生成:

代码语言:javascript
复制
2001.609, 38.780, 29.534
2002.756, 38.950, 29.274

screen是记录日志的最佳工具吗?看起来不是。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 05:15:01

如果您不打算与设备交互,那么您可以使用awk </dev/ttyUSB0 '....'直接读取它,并提取所需的字段。您可以先使用stty -F /dev/ttyUSB0 115200设置速度,也可以同时选择其他stty选项,如raw -echo

代码语言:javascript
复制
stty -F /dev/ttyUSB0 115200
awk </dev/ttyUSB0  '
 /^Seconds:/    { s = $2; next }
 /^Centigrade:/ { c = $2; next }
 /^Humidity %:/ { h = $3; printf "%s, %s, %s\n",s,c,h }
'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57152639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档