使用bash、jq、sed解析运动数据

使用bash、jq、sed解析运动数据,bash,sed,base64,amazon-kinesis,Bash,Sed,Base64,Amazon Kinesis,我希望使用bash浏览一些运动数据。使用类似以下命令的命令: aws kinesis get-records --shard-iterator <long shard info> | jq '[.|.Records[].Data]' | grep \"ey | sed -e 's/^[ \t]*\"//;s/[ \t]*\",$//' 我可以从流中获取base64数据。我遇到的问题是通过base64传输数据,这样我就可以看到实际的数据 如果我使用head-n和tail组合发送它,

我希望使用bash浏览一些运动数据。使用类似以下命令的命令:

aws kinesis get-records --shard-iterator <long shard info> | jq '[.|.Records[].Data]' | grep \"ey |  sed -e 's/^[ \t]*\"//;s/[ \t]*\",$//'
我可以从流中获取base64数据。我遇到的问题是通过base64传输数据,这样我就可以看到实际的数据

如果我使用head-n和tail组合发送它,我可以看到单独的值,但是任何试图通过2-3行以上的代码的尝试都失败了。错误通常是一组JSON值,后跟垃圾数据。整个命令前面通常有

输入流中的字符无效

要查看json值,我使用| xargs base64-D


-警告:在OSX上使用bash时,假设您已将base64数据复制到文件中,则此操作有效:

while IFS= read -r line; do echo $line | base64 -D && printf "\n"; done < <infile>
我为Amazon Kinesis数据流开发了友好的CLI。这对于调试非常有用

您可以使用pip安装它

pip install kines
然后,您可以在流和碎片上运行kineswalk命令来查看解码的数据

kines walk <stream-name> <shard-id>
演示: