Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结合tail-F和json_Json_Tail - Fatal编程技术网

结合tail-F和json

结合tail-F和json,json,tail,Json,Tail,我的日志文件每行有一个json对象。 我使用[json][1]通过 cat mylog.log | json -a field1 field2 现在我想要 tail -F mylog.log | json -a field1 field2 用于连续输出。但这似乎不是 工作时,外壳只是挂起。如果我使用&来 避免缓冲问题,输出就像 我只运行cat mylog.log如下所示: {"field1": entry1a, "field2": entry2a, "field3": entry3a} {"

我的日志文件每行有一个json对象。 我使用[json][1]通过

cat mylog.log | json -a field1 field2
现在我想要

tail -F mylog.log | json -a field1 field2
用于连续输出。但这似乎不是 工作时,外壳只是挂起。如果我使用
&
来 避免缓冲问题,输出就像 我只运行
cat

mylog.log
如下所示:

{"field1": entry1a, "field2": entry2a, "field3": entry3a}
{"field1": entry1b, "field2": entry2b, "field3": entry3b}
tail -F mylog.log | while read line; do echo "$line" | json -a field1 field2; done
有什么建议吗


[1]

它看起来像是
json
,但是您应该仍然能够通过为添加到日志文件的每一行调用它来实现流处理,如下所示:

{"field1": entry1a, "field2": entry2a, "field3": entry3a}
{"field1": entry1b, "field2": entry2b, "field3": entry3b}
tail -F mylog.log | while read line; do echo "$line" | json -a field1 field2; done

&
?这是什么类型的shell?
zsh
,但我认为它并没有达到我想象的效果……你可能想看看我有一些带有转义反斜杠的json-class:“path\\to\\class”。为了保留这些,我必须将read语句更改为read-r行,这样可以保留它们