2つの「テキストベース」の日付から経過時間を取得する方法

2つの「テキストベース」の日付から経過時間を取得する方法

Bashで2時間の違いを計算する方法があるかどうか疑問に思います。ログファイルから抽出された2つのフィールドがあります。

開始時間:2月12日10:02:10終了時間:2月12日10:53:15

私にとって必要なのは、これら2つの日付の間の経過時間を手動で取得する方法です。時刻値は日付生成コマンドではなく「テキストベース」なので、これを行う方法があるかどうかわかりません。時間は24時間形式なので、真夜中以降の時間を処理しやすくなることを願っています。どんなアドバイスも本当にありがとうございます。ピーターV。

ベストアンサー1

使用できるいくつかの邪悪なトリックがあります。

date -d "Feb 12 10:02:10" +%s

この日付のエポック以降の秒数を返します。これを同じコマンド(他の日付の場合)と組み合わせて、次のコマンドを実行しますbc

echo "$(date -d 'Feb 12 10:53:15' +%s) - $(date -d 'Feb 12 10:02:10' +%s)" | bc

またはシェル算術拡張:

echo "$(( $(date -d 'Feb 12 10:53:15' +%s) - $(date -d 'Feb 12 10:02:10' +%s) ))"

あなたに与える

3065

時間の間の秒数。awk何度も実行する必要がある場合は、何らかの方法で解析できます。

おすすめ記事