Wie kann ich dafür sorgen, dass „time“ dasselbe Format verwendet, wenn stdin vorhanden ist?

Wie kann ich dafür sorgen, dass „time“ dasselbe Format verwendet, wenn stdin vorhanden ist?

Unter OSX hätte ich gerne, dass diese gleich sind (vorzugsweise das erste Format). Wie mache ich das ohne Nachbearbeitung?

$ 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

Antwort1

Verwenden Sie die -pOption: „Die Ausgabe wird gemäß IEEE Std 1003.2-1992 (‚POSIX.2‘) formatiert.“ Das ist nicht perfekt (es scheint einige Tabulator-/Leerzeichen-Probleme zu geben), aber die Zeiten selbst werden gleich formatiert:

$ 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

verwandte Informationen