ADB命令显示时间格式为HH:MM:SS.SSSS



我正在使用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";

最新更新