文章摘要
这篇文章介绍了在shell脚本中如何计算程序的耗时。内容主要分为三个部分:日期格式化、时间差计算以及耗时测量的具体实现。作者提到可以通过`date`命令的不同格式来获取时间戳(`%F`, `%Y-%m-%d`, `%s.%N`等),并展示了如何通过`bc`工具计算两个时间戳之间的差值来获得耗时。
文章还详细描述了如何测量睡眠时间后的实际耗时(例如睡眠3秒后的时间戳差)。通过`echo`命令结合`bc`工具,作者实现了精确的毫秒级时间计算。整篇文章简洁明了,为读者提供了实用的shell脚本编写技巧,帮助他们在实际操作中提高效率。
这篇文章为shell脚本开发者提供了一篇实用的技术参考,帮助他们在处理任务时间计算时更加高效可靠。
目录Background1、日期格式化2、时间差计算
我要吐槽下啊,网上相关经验很多,大多基于awk,但是我试了都不行,估计就是在哪看到的,自己也没测试,复制粘贴一篇文章,博风不古啊~这里记录下实现方式,以便后面查阅。
计算耗时前需要介绍下日期格式化相关基础知识。

格式成
date +%F
# 或
date +’%Y-%m-%d’
# 或,+号的位置在引号内外都行
date ‘+%Y-%m-%d’
# 或
date +’%Y-%m-%d’
# 或,+号的位置在引号内外都行
date ‘+%Y-%m-%d’

格式成
date +’%F %H:%M:%S’
# 或
date +’%Y-%m-%d %H:%M:%S’
# 或,+号的位置在引号内外都行
date ‘+%Y-%m-%d %H:%M:%S’
# 或
date +’%Y-%m-%d %H:%M:%S’
# 或,+号的位置在引号内外都行
date ‘+%Y-%m-%d %H:%M:%S’

格式成时间戳
date +%s
date +%s.%N

我们这里只计算相差毫秒数,其他计算可据此转换得到。
st=$(echo “`date +%s.%N`*1000” | bc)
sleep 3s
et=$(echo “`date +%s.%N`*1000” | bc)
diff=$(echo “$et-$st” | bc)
echo “开始毫秒时间戳: $st”
echo “结束毫秒时间戳: $et”
echo “累计耗时毫秒数: $diff”

到此这篇关于shell耗时计算的实现的文章就介绍到这了,更多相关shell耗时计算内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
© 版权声明
文章版权归作者所有,未经允许请勿转载。