21 lines
599 B
Fish
21 lines
599 B
Fish
|
function humanize_duration -d "Humanize a time interval for display"
|
||
|
command awk '
|
||
|
function hmTime(time, stamp) {
|
||
|
split("h:m:s:ms", units, ":")
|
||
|
|
||
|
for (i = 2; i >= -1; i--) {
|
||
|
if (t = int( i < 0 ? time % 1000 : time / (60 ^ i * 1000) % 60 )) {
|
||
|
stamp = stamp t units[sqrt((i - 2) ^ 2) + 1] " "
|
||
|
}
|
||
|
}
|
||
|
if (stamp ~ /^ *$/) {
|
||
|
return "0ms"
|
||
|
}
|
||
|
return substr(stamp, 1, length(stamp) - 1)
|
||
|
}
|
||
|
{
|
||
|
print hmTime($0)
|
||
|
}
|
||
|
'
|
||
|
end
|