如何输出一个命令需要的实时(而不是别的)?

我怎样才能输出一个命令需要的实时(而不是别的)?

例:

这不会工作:

$ time -p sleep 2 | grep real real 2.00 user 0.00 sys 0.00 

我想要的东西是:

 $ print-real-time sleep 2 2.00 

你需要首先捕获time的输出 。 然后你可以处理它。

一个非BASH特定的解决scheme(显式使用/usr/bin/time所以它不是pipe道狂躁的bash内build)

/usr/bin/time -p some_command_or_subshell 2>&1 | grep real | awk '{print $2}'

根据你提供这个输出给你的任何东西的微妙特性,你可能想把你的主题命令的输出redirect到/ dev / null。

这是一个hacky解决scheme,使用cut来分割字段。

 time -p sleep 2 | grep real | cut -f2 -d' ' 

你也可以使用awk

 time -p sleep 2 | grep real | awk '{ print $2 }'