Registre cualquier comando similar a `time`

Registre cualquier comando similar a `time`

El time(1)comando le permite cronometrar cualquier comando pasándolo como argumentos a time.

Sé que es posible redirigir stderra stdoutun archivo a través de 2>&1, y también tee(1)permite copiar su entrada tanto a la pantalla como a un archivo. Sin embargo, no sé cómo agregar marcas de tiempo a los registros.

¿Existe una herramienta para redirigir stderra stdoutun archivo Y agregarle marcas de tiempo para fines de registro?

Respuesta1

Podrías utilizar ts(1)desde moreutils.


tsdemásutilsantepondrá una marca de tiempo a cada línea de entrada que le proporcione. También puedes formatearlo usando strftime.

$ echo 'foo bar baz' | ts
Mar 21 18:07:28 foo bar baz
$ echo 'blah blah blah' | ts '%F %T'
2012-03-21 18:07:30 blah blah blah
$ 

Para instalarlo:

sudo apt-get install moreutils

Contenido copiado de esta respuesta:https://stackoverflow.com/a/9813614/221689

Respuesta2

Pruebe annotate-outputdesde Debiandevscriptspaquete. Muestra marcas de tiempo y escribe "O" antes de la salida estándar y "E" antes del error estándar. Ejemplo:

# run `ls` on one file that exists, and one that doesn't...
annotate-output ls /bin/bash /tmp/boosh

Producción:

03:30:52 I: Started ls /bin/bash /tmp/boosh
03:30:52 O: /bin/bash
03:30:52 E: ls: cannot access '/tmp/boosh': No such file or directory
03:30:52 I: Finished with exitcode 2

información relacionada