有没有简单的方法可以在 bash 中转换时间字符串?

有没有简单的方法可以在 bash 中转换时间字符串?

我经常需要将包含一种格式的时间的字符串转换为另一种格式 - 例如:

time some_command
real    1m24.90s
user    0m0.01s
sys     0m0.00s

我可以花点功夫在 bash 中解析这些时间表达式,或者我可以学习更多 awk 并可能在那里执行此操作,但如果已经存在一些命令就更好了。我会失望吗?

编辑:

因此,需要澄清的是:我当然可以只写一小段代码,但我只是想象可能已经存在一些东西 - 也许看起来像这样的东西,它允许您指定输入和输出格式:

$ tmconvert --in-fmt="%Sm%S" --out-fmt="%S" "1m24.90s"

答案1

您可以使用-p 时间选项。

mbp:~ em444$ time -p sleep 120
real 120.01
user 0.00
sys 0.00

PS: 通常你会有两个版本time

  • 其中一个是由您的 shell 提供的,因此您必须阅读man bash才能获得文档。
  • 另一个/usr/bin/time,你可以通过阅读文档man time

相关内容