我怎样才能输出命令所花费的实际时间(而不输出其他内容)?
例子:
这不会起作用:
$ time -p sleep 2 | grep real
real 2.00
user 0.00
sys 0.00
我想要这样的东西:
$ print-real-time sleep 2
2.00
答案1
你需要捕获输出time
然后你就可以处理它了。
答案2
非 BASH 特定的解决方案(明确使用,/usr/bin/time
所以它不是吞噬管道的 bash 内置命令)--
/usr/bin/time -p some_command_or_subshell 2>&1 | grep real | awk '{print $2}'
根据您将此输出提供给的任何内容的微妙性质,您可能需要将主题命令的输出重定向到 /dev/null...
答案3
这是一个用于cut
分割字段的黑客解决方案。
time -p sleep 2 | grep real | cut -f2 -d' '
您还可以使用awk
:
time -p sleep 2 | grep real | awk '{ print $2 }'