在终端上可以正常工作:
mosquitto_sub -h 192.168.178.20 -t tele/POW/SENSOR/# | jq '.ENERGY|.Power'
每10秒屏幕上就会有一个输出,因为设备POW每10秒发布一次传感器日期。 mosquitto_sub(这是一个JSON字符串)的输出通过管道传递到jq,jq仅显示键“ Power”的值数字。现在,我尝试将jq输出(仅值)存储到文件“ output.log”。
mosquitto_sub -h 192.168.178.20 -t tele/POW/SENSOR/# | jq '.ENERGY|.Power' > output.log
不起作用。怎么了?
答案 0 :(得分:0)
摘自jq手册:
--unbuffered
Flush the output after each JSON object is printed
(useful if you’re piping a slow data source into
jq and piping jq’s output elsewhere).