我正在使用ADB命令通过查找不同的状态(状态缓冲,状态播放等)对youtube进行QoE分析。显示播放youtube视频的状态。
adb shell dumpsys media_session | grep "state=PlaybackState"
但是上面命令的问题是它给出了没有时间戳的输出日志。但我需要时间戳进行数据分析。然后我找到了一个打印时间和状态的解决方案。
printf '[%s] %sn' "$(date '+%Y-%m-%d %H:%M:%S')" "$line";
两个命令的组合结果如下所示:
state=PlaybackState {state=7, position=-1, buffered position=0, speed=1.0, updated=533687, actions=0, custom actions=[], active item id=-1, error=Bluetooth audio disconnected}
state=PlaybackState {state=0, position=0, buffered position=0, speed=1.0, updated=1243174, actions=8192, custom actions=[], active item id=-1, error=null}
[2021-06-24 15:38:48]
但是我的要求是打印时间连同毫秒(15:38:48.078像这样)。我该怎么做呢?
根据日期手册页,您需要使用%N
格式化器来获得纳秒。
由于需要毫秒数,所以可以使用%3N
来四舍五入纳秒。
printf '[%s] %sn' "$(date '+"%Y-%m-%d %T.%3N"')" "$line";