seq 10 | xargs -i bash -c "nc localhost 4161 | dd bs=1 count=34 2> /dev/null | sed 's/.*\(\xaa\xaa\x01.\)/\1/g' | dd bs=1 count=16 2> /dev/null | xxd -c 17 -ps" | sed 's/^.\{8\}//g' | sed 's/\(..\)/\1 /g' | xargs -n 4 | sed 's/^/..\/zRaw2Float /g' | xargs -i bash -c "{}" | xargs -n 3
10次,大事情完成后,将结果前8个字符删除,两个字符中加空格,4B一行,前面加../zRaw2Float,然后执行,最后每三个数据放一行。结果如下:
2.3069827556610107e+00 1.0743858814239502e+00 1.1700756072998047e+01
2.3054604530334473e+00 1.0764266252517700e+00 1.1702662467956543e+01
每次大事情的具体内容是:读取4161端口上的34B数据,再找到帧头aaaa01并把之间的东西删除,再读取16B的一个完整帧,再按17列显示出原始数据,形式如下:
aaaa010c401228d53f8d20c94152808f
aaaa010c401263ba3f8cd90e41527cc0
aaaa010c401269a53f8d519441527bdd 共有10行。
网友评论