I want to measure the elapsed time of a command, and show it without fractions of seconds no matter how little time it takes.
For instance,
/usr/bin/time -f "%E (real)" SOMECOMMAND
might return 4:36:05
for a long running process, or 7:27.32
for a short one.
In the second instance, how can I format it as 7:27
or 00:07:27
(leading zeros not important), so that it is obvious at a glance that it's 7 minutes (and not 7 hours as I initially thought)?
The seconds fractions are just not necessary for my measurements.
Best Answer
If you're using Bash, you could use the built-in
time
command. It outputs "m" for minutes and "s" for seconds instead of ambiguous colons. You can control the format of its output with theTIMEFORMAT
variable:The default value of
TIMEFORMAT
:Edit:
You can also use
sed
to modify the output of/usr/bin/time
to remove the ambiguity in a similar way:Demo using simulated
time
output: