You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash中提取两个epoch时间戳并计算二者的差值

计算epoch时间戳差值的解决方案

你提取到的$2、$3本身就是浮点型的秒级时间戳数值,无需转换为可读时间格式,直接做减法即可得到单位为秒的时间差。

修改后的awk脚本示例

同时输出可读时间和时间差

awk -F";;;|;" -vOFS='\t' 'NR>1 {
    # 跳过表头行
    diff = $3 - $2
    print strftime("%c", $2), strftime("%c", $3), diff "s"
}' duration.txt

你给出的示例日志行运行后输出结果为:

Wed Dec  1 00:04:12 2021    Wed Dec  1 00:04:13 2021    0.42s

仅输出时间差

awk -F";;;|;" 'NR>1 {print $3 - $2}' duration.txt

补充说明

  • 若需要固定时间差的小数精度,可替换打印逻辑为printf("%.3f s\n", diff),即可保留3位小数
  • 逻辑默认跳过第一行表头,若你的文件没有表头,删除NR>1条件即可

内容的提问来源于stack exchange,提问作者nmn_dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:45:03