1、在日志中有两条记录 id 开 始 时 间 结 束 时 间 0dedffee485e7ddbbff1236cfc0d91 2018-06-28 16:55:37 2018-06-28 16:55:52 122dw049dc21b0a7dcdfegeat8c8 2018-06-28 17:21:01 2018-06-28 17:21:23 如何用linux shell 命令计算出:(结束时间 - 开始时间)的秒数?

拿到开始和结束时间字串的基础上的。 start=date +%s -d "2018-06-28 16:55:37" end=date +%s -d "2018-06-28 16:55:52" echo $(($end-$start))

如果你的日志文件输出格式是上述的话,还有如下方法: cat 日志文件 | awk '/^000/{ start=$2 " " $3 end=$4 " " $5 stm=mktime(gensub(/[:-]/, " ", "g", start)) etm=mktime(gensub(/[:-]/, " ", "g", end)) print $1 " - " etm-stm }'