我想知道是否有办法计算 bash 中两次之间的差异。我有两个从日志文件中提取的字段:
开始时间:2月12日10:02:10结束时间:2月12日10:53:15
我需要的是一种手动方式来获取这两个日期之间经过的时间。由于时间值是“基于文本的”,而不是来自日期生成命令,我不知道是否有办法做到这一点。时间是 24 小时制的,所以希望这能让跨越午夜的时间更容易处理。任何建议将不胜感激。彼得 V。
Gle*_*rry 15
你可以使用一些邪恶的诡计:
date -d "Feb 12 10:02:10" +%s
Run Code Online (Sandbox Code Playgroud)
将返回自该日期的纪元以来的秒数。将此与相同的命令(用于其他日期)结合并运行bc
:
echo "$(date -d 'Feb 12 10:53:15' +%s) - $(date -d 'Feb 12 10:02:10' +%s)" | bc
Run Code Online (Sandbox Code Playgroud)
或外壳的算术扩展:
echo "$(( $(date -d 'Feb 12 10:53:15' +%s) - $(date -d 'Feb 12 10:02:10' +%s) ))"
Run Code Online (Sandbox Code Playgroud)
会给你
3065
Run Code Online (Sandbox Code Playgroud)
时间之间的秒数。awk
如果您需要多次运行它,您可能会以某种方式解析它。