web-dev-qa-db-ja.com

'time'コマンドからリアルタイムの値を取得するにはどうすればよいですか?

結果をプロットできるように、timeコマンドからリアルタイム値のみを出力するスクリプトを作成したいと思います。例えば ​​time command出力

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

出力するスクリプトを書きたい

60.001 

'time'コマンドからリアルタイムの値を秒単位で取得するにはどうすればよいですか?

35
Matthew Sowders

Bash組み込みのtimeを使用している場合は、TIMEFORMAT変数を%Rに設定します。

$ TIMEFORMAT=%R
$ time sleep 1
1.022

timeはオプションの--formatまたは-fパラメーターを取ることができますが、timeコマンド/usr/bin/timeへのフルパスを使用する必要があります。

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

3.00

パスがないと、 シェルのtimeコマンドを使用 すべての引数をコマンドとして扱うため、-f: command not foundが得られます。

24
eumiro

あなたが書くなら\time組み込みのbashを使用しないように強制します。だから\time -f '%e' commandこれで完了です。

1
Martin T.

または、/usr/bin/timeを使用するか、同様の質問をご覧ください
bashスクリプトでtimeコマンドを使用

0
Archimedix