2010-09-25 51 views
18

Me gustaría hacer un script que emita solo el valor de tiempo real del comando de tiempo para poder trazar los resultados. Por ejemplo time command salidas¿Cómo obtengo el valor en tiempo real del comando 'tiempo'?

real 1m0.001s 
user 1m0.000s 
sys 0m0.001s 

Quiero escribir un guión que da salida a

60.001 

¿Cómo llego valor de tiempo real desde solo comando de 'tiempo' en cuestión de segundos?

Respuesta

17

Según man time, el siguiente debería funcionar:

time -f "%e" command 

EDITAR: llamar al comando time con su ruta:

$ /usr/bin/time -f "%e" sleep 5 

5.00 

Sin la ruta, estaba usando el equivalente de bash. Con el camino, funciona para mí.

+4

Lo siento, estoy en un Mac, y que da salida a bash: -f: comando no encontrado –

+0

EDITAR: funciona con/usr/bin/time – eumiro

26

Si estás usando el Bash builtin time, establezca la variable de TIMEFORMAT a %R:

$ TIMEFORMAT=%R 
$ time sleep 1 
1.022 
+1

genial, ¡gracias! – pjvds

+1

Gracias! Me gusta '% 0lR' mejor (más legible) para comandos de ejecución lenta (vea http://stackoverflow.com/questions/3683434/custom-format-for-time-command/3686395#3686395) – qubodup

+0

Genial, esto funcionará en 'macOS' también, utilizó' export TIMEFORMAT =% 0lR'. – loretoparisi

Cuestiones relacionadas