bashを使用して時間の合計を計算する方法は?

bashを使用して時間の合計を計算する方法は?

一連のプロセスを自分のコンピュータで実行するのか、より強力なコンピュータで実行するのかを判断するのにかかる合計時間を知りたいのです。したがって、各命令の実行時間を予測する。出力は次のとおりです。

process1    00:03:34
process2    00:00:35
process3    00:12:34

合計実行時間を取得するために2番目の列をどのように合計できますか?各行を挿入してみることができます。

awk '{sum += $2 } END { print sum }

しかし、これはその値が自然数ではないため意味がありません。

ベストアンサー1

#!/bin/sh

EPOCH='jan 1 1970'
sum=0

for i in 00:03:34 00:00:35 00:12:34
do
  sum="$(date -u -d "$EPOCH $i" +%s) + $sum"
done
echo $sum|bc

date -u -d "jan 1 1970" +%s0を与える。するとdate -u -d "jan 1 1970 00:03:34" +%s214秒になります。

おすすめ記事