[linux] Как просуммировать время?
Я хотел сказать man date, потому как в FreeBSD твою задачу можно решить с его помощью, но на всякий случай посмотрел что умеет date в Linux. К сожалению date тебе не поможет.
Разбей на 2 части и посчитай сумму минут и секунд отдельно. А потом сделай m += s / 60, s = s % 60(не помню точно как это записать в bc ). res="$m:$s"
( echo -n '0'
while read X ; do
Y=`echo "$X" | sed -e 's,:,*60+,'`
echo -n "+$Y"
done
echo ) | bc -l
perl -e 'while (<>) {if (/(\d+):(\d+)/) {$m+=$1;$s+=$2}} print $m*60+$s,"\n"'
Я так понимаю что ответ в секундах будет?
да, а что?
Плохо. Автор наверное желает mm:ss.
в виде YYYY Month day hh mm ss. тогда просуммируем
каким образом сумма будет левой - не понял
угу, МТСу, да простым... сколько будет 34:22+34:23? правильно: 08:45.
ой, наверно я стормозил, сумма в секундах если представляется, то число секунд умножается на число минут+число секунд.
просто для себя, чтоб вручную не возиться
иногда сталкиваюсь, а как быстро посчитать не знаю
тем более, если это делается какими либо стандартными средствами, то там такая ситуация нормально обходится, я думаю
ну, яб тогда в уме складывал, тренирует память... взглянул... и сумма
awk '{split($k, t, ":"); h+=t[1]; m+=t[2]} END{print h+(m-m%60)/60 ":" m%60}'
Оставить комментарий
ivashka
В текстовом файле есть колонка со временем в формате мм:сснужно просуммировать это время
bc умеет такое?