GNU/Linux >> Linux の 問題 >  >> Linux

HH:MM:SS (時:分:秒.分割秒) を秒に変換する簡単な方法

awk を試す .おまけとして、スプリットセコンドを維持できます。

echo "00:20:40.25" | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }'

これを試してください:

T='00:20:40.28'
SavedIFS="$IFS"
IFS=":."
Time=($T)
Seconds=$((${Time[0]}*3600 + ${Time[1]}*60 + ${Time[2]})).${Time[3]}
IFS="$SavedIFS"

echo $Seconds

($<文字列> ) 分割 スプリッタに基づく (IFS ).

${<配列> [<インデックス> ]} の要素を返します で .

$((<算術式> )) 算術式を実行します。

これがお役に立てば幸いです。


これは、時間または分を指定しなくても機能します:echo "04:20:40" | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc


Linux
  1. 一重引用符内の変数内の値を印刷する方法はありませんか?

  2. csplit:コンテンツに基づいてLinuxでファイルを分割するためのより良い方法

  3. 5 分、秒、時間、日、月ごとに cron を実行する方法

  1. Linux シェルで 16 進数を ASCII 文字に変換する方法は?

  2. UTF8 から ISO-8859-1 に変換する方法はありますか?

  3. Linux bashでISO日付をエポックからの秒数に変換する

  1. Batch でリモート SSH コマンドをスクリプト化する最良の方法 (Windows)

  2. 日、時間、分を表示する Bash 形式の稼働時間

  3. 特定の時間の間、15分ごとに実行されるcrontab