Estou tentando cronometrar algo usando:
/usr/bin/time myCommand
No entanto, como /usr/bin/time
escreve no stderr, se o myCommand também grava no stderr, receberei mais do que apenas a saída do tempo no fluxo. O que eu quero fazer é redirecionar toda a saída do myCommand para /dev/null
, mas ainda gravar a saída do tempo no stderr. Usando um exemplo myCommand que grava no stderr of ls /nofile
, vemos que (obviamente) não há saída alguma com o seguinte:
$ /usr/bin/time ls /nofile 2> /dev/null
$
Sem nenhum redirecionamento, vemos a saída de ls
(para stderr) e a saída de tempo (também para stderr):
$ /usr/bin/time ls /nofile
ls: cannot access /nofile: No such file or directory
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
O que eu quero é algo que simplesmente produz:
$ /usr/bin/time ls /nofile > RedirectThatImAskingFor
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
Alguma ideia?