Чистый способ - использовать переменную оболочки TIMEFORMAT
, чтобы печатать только пользовательскую информацию.(man bash
для более подробной информации.)
Затем, конечно, вам нужно захватить вывод из него.Это невозможно сделать из конвейера, так как это делается внутри оболочки, но вы можете запустить его в подоболочке, и в результате вы получите стандартную ошибку.Но тогда вы должны каким-то образом перенаправить вывод команды в другое место.Здесь я просто отказываюсь от этого, но существует множество других возможностей, в зависимости от того, что именно вам нужно сделать.Тогда вам нужно загнать d.ddd
в dddd
.Просто удалите период.
(TIMEFORMAT="%U"; time ls > /dev/null) |& tr -d .
Если хотите, вы можете добавить | sed s/^0*//
, чтобы удалить ведущие нули.
% R даст в реальном времени системное время% S,Вы можете изменить точность, например, с помощью% 6U, чтобы получить микросекунды, хотя большинство систем не будут иметь такую точность.
man bash
для получения справки о перенаправлениях.man tr
и man sed
для получения справки о том, как их использовать.