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.
Que donne les commandes uname -a et head -1 /etc/issue ?
Partager