如何在bash中将mqtt子数据隧道传输到纯数据(pd)

如何在bash中将mqtt子数据隧道传输到纯数据(pd)
mosquitto_sub -v -h 127.0.0.1 -p 1883 -t 'gyro' | sed 's/[^ ]* //' | pdsend 3000 localhost udp

此命令没有输出任何内容。而它应该输出我通过 mqtt 收到的值。

没有sed 's/[^ ]* //'它会输出:gyro 23

作为输出,我想要一个裸数字(没有陀螺仪):)

答案1

23仅从输出打印gyro 23

选项1:使用 sed 仅打印数字。

mosquitto_sub -v -h 127.0.0.1 -p 1883 -t 'gyro' | sed 's/[^0-9]//g'

选项2:使用 awk 打印第二个字段23

mosquitto_sub -v -h 127.0.0.1 -p 1883 -t 'gyro' | awk '{print $2}'

相关内容