将 DURATION HH:MM:SS 转换为 bash 中的秒数

use*_*106 1 bash time duration

我想找到一种方法可以轻松地将持续时间(而不是 1970 年等的时间等)转换为以秒为单位的持续时间,例如 05:42:32。请问有没有一种简单快捷的方法可以在 bash 中做到这一点?我尝试了“日期”和 %s 等,但它总是返回自 1970 年以来的时间,我只想要一个持续时间。

谢谢 !

Pav*_*sov 5

是否awk算作庆典?

$ echo "05:42:32" | awk -F':' '{print $1 * 60 * 60 + $2 * 60 + $3}'
20552
Run Code Online (Sandbox Code Playgroud)

如果您还需要解析没有小时的持续时间:

$ echo "05:42:32" | awk -F':' '{print $1 * 60 * 60 + $2 * 60 + $3}'
20552
Run Code Online (Sandbox Code Playgroud)