首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合tail -F和json

组合tail -F和json
EN

Stack Overflow用户
提问于 2012-03-12 21:13:09
回答 1查看 6.6K关注 0票数 11

我的日志文件每行有一个json对象。我使用json通过以下方式获得人类可读的输出

代码语言:javascript
复制
cat mylog.log | json -a field1 field2

现在我想要

代码语言:javascript
复制
tail -F mylog.log | json -a field1 field2

以获得连续输出。但这似乎不起作用,外壳只是挂起了。如果我使用&|来避免缓冲问题,输出就像我只运行cat一样。

mylog.log看起来像这样:

代码语言:javascript
复制
{"field1": entry1a, "field2": entry2a, "field3": entry3a}
{"field1": entry1b, "field2": entry2b, "field3": entry3b}

有什么建议吗?

1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-12 21:46:10

它看起来像json first loads the whole stdin into a buffer and only then processes the data,但您仍然可以通过为添加到日志文件中的每一行调用它来实现流处理,如下所示:

代码语言:javascript
复制
tail -F mylog.log | while read line; do echo "$line" | json -a field1 field2; done
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9667675

复制
相关文章

相似问题

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