53 votes

Comment obtenir uniquement la valeur en temps réel de la commande « time » ?

Je voudrais créer un script qui ne génère que la valeur en temps réel de la commande time afin que je puisse tracer les résultats. Par exemple les sorties time command

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

Je veux écrire un script qui génère

 60.001 

Comment obtenir uniquement la valeur en temps réel de la commande « time » en secondes ?

65voto

Dennis Williamson Points 105818

Si vous utilisez la commande intégrée Bash time , réglez le TIMEFORMAT variable %R :

 $ TIMEFORMAT=%R
$ time sleep 1
1.022

37voto

eumiro Points 56644

time peut prendre un --format ou -f , mais vous devez utiliser le chemin complet de la commande time, /usr/bin/time

 /usr/bin/time -f "%e" sleep 3

3.00

Sans le chemin, il utilisera la commande time du shell qui traite simplement tous les arguments comme la commande, vous obtiendrez donc un -f: command not found .

2voto

Martin T. Points 240

Si vous écrivez \time vous forcez à ne pas utiliser le bash intégré dans le temps. Donc avec \time -f '%e' command vous avez terminé.

0voto

Archimedix Points 3595

Alternativement, utilisez /usr/bin/time ou jetez un œil à la question similaire Utilisation de la commande time dans le script bash .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X