GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einfache Möglichkeit, HH:MM:SS (Stunden:Minuten:Sekunden.Split Seconds) in Sekunden umzuwandeln

Versuchen Sie es mit awk . Als Bonus können Sie die Sekundenbruchteile behalten.

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

Versuchen Sie Folgendes:

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

($ ) teilt basierend auf dem Splitter (IFS ).

${ [ ]} gibt das Element von zurück unter .

$(( )) führt den arithmetischen Ausdruck aus.

Hoffe das hilft.


Dies würde auch funktionieren, wenn Sie keine Stunden oder Minuten angeben:echo "04:20:40" | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc


Linux
  1. csplit:Eine bessere Möglichkeit, Dateien in Linux basierend auf ihrem Inhalt zu teilen

  2. Wie man Cron alle 5 Minuten, Sekunden, Stunden, Tage, Monate ausführt

  3. Wie konvertiere ich Hex in ASCII-Zeichen in der Linux-Shell?

  4. am schnellsten konvertieren tabulatorgetrennte datei in csv in linux

  5. Konvertieren Sie ein ISO-Datum in Sekunden seit der Epoche in Linux Bash

Eine einfache Möglichkeit, symbolische Links in Linux aufzulisten

Eine einfache Möglichkeit, die NVIDIA-Treiberversion unter Linux zu überprüfen

Eine einfache Möglichkeit, den IOStat-Befehl zu verstehen

Holen Sie sich die aktuelle Uhrzeit in Stunden und Minuten

Was ist eine einfache Möglichkeit, einen Befehl 5 Minuten lang laufen zu lassen?

Was ist der schnellste Weg, um ein Skript auszuführen?