bash – 时间命令的自定义格式
发布时间:2020-12-15 16:42:19 所属栏目:安全 来源:网络整理
导读:我想在bash脚本中使用time命令来计算脚本的运行时间并将其写入日志文件。我只需要实时,而不是用户和sys。还需要它在一个体面的格式。例如00:00:00:00(不像标准输出)。我喜欢任何建议。 预期格式应为00:00:00.0000(毫秒)[小时]:[分钟]:[秒]。[毫秒]
我想在bash脚本中使用time命令来计算脚本的运行时间并将其写入日志文件。我只需要实时,而不是用户和sys。还需要它在一个体面的格式。例如00:00:00:00(不像标准输出)。我喜欢任何建议。
预期格式应为00:00:00.0000(毫秒)[小时]:[分钟]:[秒]。[毫秒] 我已经有3个脚本。我看到一个这样的例子: { time { # section code goes here } } 2> timing.log 但我只需要实时,而不是用户和sys。还需要它在一个体面的格式。例如00:00:00:00(不像标准输出)。 换句话说,我想知道如何把时间输出变成更容易处理的东西。
您可以使用date命令获取执行要计时的工作之前和之后的当前时间,并计算差值,如下所示:
#!/bin/bash # Get time as a UNIX timestamp (seconds elapsed since Jan 1,1970 0:00 UTC) T="$(date +%s)" # Do some work here sleep 2 T="$(($(date +%s)-T))" echo "Time in seconds: ${T}" printf "Pretty format: %02d:%02d:%02d:%02dn" "$((T/86400))" "$((T/3600%24))" "$((T/60%60))" "$((T%60))"" 笔记: 参见:http://tldp.org/LDP/abs/html/arithexp.html 编辑: 编辑: 定时示例为毫秒(实际为毫微秒,但在此截断为毫秒)。您的版本的日期必须支持%N格式,bash应该支持大数字。 # UNIX timestamp concatenated with nanoseconds T="$(date +%s%N)" # Do some work here sleep 2 # Time interval in nanoseconds T="$(($(date +%s%N)-T))" # Seconds S="$((T/1000000000))" # Milliseconds M="$((T/1000000))" echo "Time in nanoseconds: ${T}" printf "Pretty format: %02d:%02d:%02d:%02d.%03dn" "$((S/86400))" "$((S/3600%24))" "$((S/60%60))" "$((S%60))" "${M}" 免责声明: M="$((T%1000000000/1000000))" 但这是编辑出来,因为它显然不适用于一些人,而新版本据报道。我不赞成这个,因为我认为你必须使用剩??余部分,但被压倒。选择任何适合你。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- string – 如何删除bash中的前导部分
- twitter-bootstrap – Bootstrap 3,在悬停时打开Collapse元
- 如何在twitter-bootstrap中停止图像响应?
- Scala AKKA Actor的错误消息
- bash – 在cygwin中使用xmllint
- 五、CXF WebService整合Spring
- Docker在Ubuntu 14.04.4 LTS上使用apt-get从v1.11升级到v1.
- MDT配置文件BootStrap.ini和CustomSettings.ini
- 登陆小demo
- twitter-bootstrap-3 – bootstrap 3.3.2:缺少新的glyphic