Sto cercando di cronometrare qualcosa usando:
/usr/bin/time myCommand
Tuttavia, poiché /usr/bin/time
scrive su stderr, se anche myCommand scrive su stderr, otterrò più di un semplice output di tempo sullo stream. Quello che voglio fare è reindirizzare tutto l'output di myCommand /dev/null
, ma comunque scrivere l'output del tempo su stderr. Usando un esempio di myCommand che scrive su stderr di ls /nofile
, vediamo che (ovviamente) non c'è alcun output con il seguente:
$ /usr/bin/time ls /nofile 2> /dev/null
$
Senza alcun reindirizzamento, vediamo sia l'output da ls
(a stderr) che l'output dal tempo (anche a 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
Quello che voglio è qualcosa che semplicemente produce:
$ /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
Qualche idea?