Как заставить `time` использовать тот же формат, когда присутствует stdin?

Как заставить `time` использовать тот же формат, когда присутствует stdin?

На OSX я бы хотел, чтобы они были одинаковыми (предпочтительно первый формат). Как это сделать без постобработки?

$ 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

решение1

Используйте -pопцию: «Вывод форматируется в соответствии со стандартом IEEE Std 1003.2-1992 ('POSIX.2')». Это не идеально (кажется, есть некоторые странности с табуляцией/пробелами), но само время будет отформатировано так же:

$ 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

Связанный контент