Команда time возвращает таблицу следующим образом:
real 0m1.607s
user 0m0.154s
sys 0m0.032s
Я запускаю это внутри скрипта оболочки. Каков самый простой способ обработать выход time, чтобы получить переменную $RUNTIME, которая содержит сумму user + sys в миллисекундах?
Сделайте это
Запустите свою команду, используя нижеприведенный скрипт, замените your_command.
$ ALL_TIME=`(time your_command) 2>&1 | grep -E "user|sys" | sed s/[a-z]//g`
теперь переменная ALL_TIME сохраняет два значения: `
$ echo $ALL_TIME
00.001 00.003
Теперь вам нужно суммировать значения. Использовать скрипт ниже
Не забудьте установить RUNTIME в ноль.
$ RUNTIME=0
$ for i in $ALL_TIME; do RUNTIME=`echo "$RUNTIME + $i"|bc`; done
$ echo $RUNTIME
.004
Как grep из времени