echo "$(time perlscript > /dev/null)" | mawk '{ print $9 }'
私が望んでいた9列目ではなく、echoの出力全体を返します。なんで?
結果で何かをしたい場合はtime
、次のようにサブシェル内でラップし、stderr を stdout にリダイレクトする必要があります。
$ (time sleep 0) 2>&1 | awk '{print $2}'
0m0.006s
0m0.000s
0m0.000s
このようなものが私を無視しているように見えるので:
$ time sleep 0 | grep real
real 0m0.011s
user 0m0.000s
sys 0m0.008s
そしてこれもそうです:
$ time sleep 0 2>&1 | grep real
real 0m0.012s
user 0m0.000s
sys 0m0.004s