Bonjour,
J'ai les variables suivantes : HH:MM:SS
00:01:52
01:25:23
00:52:23
je veux les additionner via un script en ksh. Comment puis je faire pour cumuler les heures, minutes et secondes ?
Merci








Bonjour,
J'ai les variables suivantes : HH:MM:SS
00:01:52
01:25:23
00:52:23
je veux les additionner via un script en ksh. Comment puis je faire pour cumuler les heures, minutes et secondes ?
Merci
de manière "'interactive" :u cf. la remarque de jmelyn (infra)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12#!/bin/bash for date in $@; do IFS=":" while read Heures Minutes Secondes; do ssTotalSec=$(( ((${Heures}*3600)) + ((${Minutes}*60)) + ${Secondes} )) TotalGen=$(( $TotalGen + $ssTotalSec )) done <<< "$date" # shift # inutile done date -ud @$TotalGen +%T
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Scripts/addDate.sh 00:01:52 01:25:23 00:52:23 02:19:38
Je suppose que "fichier" contient:
En utilisant la commande awk, on obtient:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 00:01:52 01:25:23 00:52:23
Edit: Attention N_BaH, ton résultat n'est pas correct à cause du changement d'heure (il n'y a que 2h19mn38s). D'où chez moi le 3e argument 1 de la fonction strftime(). Il te faut en plus l'option -u (UTC): date -u -d @GenTotal +%T
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk -F ':' '{T+=$1*3600+$2*60+$3} END {print strftime("%H:%M:%S",T,1)}' fichier








j'ai recopié les solutions que vous m'avez fourni et ça ne fonctionne pas.
Il met plein d'erreur.
pour info, je fais du ksh.
J'ai testé sous ksh, et ça fonctionne. Quels sont les messages d'erreurs ?
Que donne les commandes uname -a et head -1 /etc/issue ?
Partager