将字符串时间转换为秒

将字符串时间转换为秒

我收到以下格式的正常运行时间:

167h58m10.586582048s

我想将其转换为秒并丢弃小数部分。我知道awk只要接收到的字符串具有相同的分隔符就可以做到这一点。事实并非如此。

我怎样才能将其转换为秒?

答案1

如果我尝试这个:

$ echo "167h58m10.586582048s" | awk -F '[hm.]' '{ print ($1 * 3600) + ($2 * 60) + $3 }'
604690

效果很好。

谢谢@steeldriver。我对此一无所知。

我发现这很好关于字段分隔符的文章awk

相关内容