Como posso fazer com que `time` use o mesmo formato quando há stdin presente?

Como posso fazer com que `time` use o mesmo formato quando há stdin presente?

No OSX gostaria que fossem iguais (de preferência o primeiro formato). Como faço isso sem pós-processamento?

$ time echo foo
foo

real    0m0.000s
user    0m0.000s
sys 0m0.000s
$ echo | time echo foo
foo
        0.00 real         0.00 user         0.00 sys

Responder1

Use a -popção: "A saída é formatada conforme especificado pela IEEE Std 1003.2-1992 ('POSIX.2')." Isso não é perfeito (parece haver alguma estranheza de tabulação/espaço), mas os próprios horários serão formatados da mesma forma:

$ time -p echo foo
foo
real 0.00
user 0.00
sys 0.00

$ echo | time -p echo foo
foo
real         0.00
user         0.00
sys          0.00

informação relacionada