Имеется лог куда пишется время начала и окончания работы скрипта. Всего 3 запуска в сутки, соответственно имеем 6 таймстепов.Таймстемп вида 2022-11-18T05:20:01. Задача: посчитать время работы каждого запуска в отдельности и записать это в файл. На данный момент удалось сгрепать время в виде 05:20:01 (дата в данном случае не имеет значения) и конвертировать все 6 значений в секунды. Соответственно, теперь задача как-то их разбить по парам, вычислить разницу, конвертировать в %H:%M:%S и уложить в файл.
#!/bin/bash
file="run.log"
IFS=$'\n'
for var in $(grep -o '[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}' $file | tail -n6)
do
echo $var | awk -F: '{ a=$1*60+$2 ; if (NF<3) print a ; else print a*60+$3 }'
done