为什么awk在这里什么都不做?

时间:2013-10-16 13:12:23

标签: awk zsh gawk

echo "$(time perlscript > /dev/null)" | mawk '{ print $9 }'

返回echo的整个输出,而不是我希望的第九列。为什么呢?

1 个答案:

答案 0 :(得分:2)

如果您想对time结果执行某些操作,则必须将其包装在子shell中并将stderr重定向到stdout,如下所示:

$ (time sleep 0) 2>&1 | awk '{print $2}'

0m0.006s
0m0.000s
0m0.000s

因为这样的事情似乎忽略我:

$ time sleep 0 | grep real

real    0m0.011s
user    0m0.000s
sys     0m0.008s

这样做:

$ time sleep 0 2>&1 | grep real

real    0m0.012s
user    0m0.000s
sys     0m0.004s