Essa saída 0m4.968s
parece o formato padrão para o time
do Bash. Para fazer cálculos significativos, os minutos teriam que ser convertidos em segundos. Mas é mais fácil apenas alterar o formato de saída. Se nos preocuparmos apenas com o tempo do usuário, definir TIMEFORMAT=%U
deve dar exatamente isso, em segundos.
$ TIMEFORMAT=%U
$ time somecommand
4.968
Embora a saída do co-de time
seja um pouco complicada, uma vez que ela deseja cronometrar todo o pipeline, mas isso deve ser feito:
$ (time somecommand ) 2>&1 | awk '{print $1 / 30}'
0.1656
Ou se tivermos que analisar a hora no formato original, com minutos separados de segundos, talvez algo assim:
$ echo "user 0m4.968s" |
awk '/user/ {split($2, a, "m"); secs = a[1]*60 + a[2]; print secs / 30}'
0.1656