GNU/Linux >> Belajar Linux >  >> Linux

Cara mudah mengonversi HH:MM:SS (jam:menit:detik.split detik) menjadi detik

Coba awk . Sebagai bonus, Anda dapat menyimpan sepersekian detik.

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

Coba ini:

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

($ ) memisahkan berdasarkan pada pembagi (IFS ).

${ [ ]} mengembalikan elemen di .

$(( )) melakukan ekspresi aritmatika.

Semoga ini bisa membantu.


Ini akan bekerja bahkan jika Anda tidak menentukan jam atau menit:echo "04:20:40" | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc


Linux
  1. csplit:Cara yang Lebih Baik untuk Membagi File di Linux Berdasarkan Kontennya

  2. Bagaimana cara mengubah karakter hex ke ASCII di shell Linux?

  3. cara tercepat mengonversi file yang dibatasi tab ke csv di linux

  1. Apakah ada cara untuk mengonversi dari UTF8 ke ISO-8859-1?

  2. Dapatkan waktu saat ini dalam jam dan menit

  3. Ubah tanggal ISO menjadi detik sejak zaman di linux bash

  1. Cara terbaik untuk membuat skrip perintah SSH jarak jauh di Batch (Windows)

  2. Bash format uptime untuk menampilkan hari, jam, menit

  3. crontab dijalankan setiap 15 menit antara jam-jam tertentu