바이너리 시작 시간을 기준으로 타임스탬프를 인쇄하도록 "ts"에게 요청하시겠습니까?

바이너리 시작 시간을 기준으로 타임스탬프를 인쇄하도록 "ts"에게 요청하시겠습니까?

ts벽시계 시간이 아닌 바이너리가 시작된 시간을 기준으로 타임스탬프를 인쇄할 수 있습니까 ? 나는 일반적으로 단일 명령 실행에서 이벤트 사이에 경과된 시간을 측정하는 데 사용하므로 벽시계 시간은 상대적인 시간이 아니며 대부분 명령 실행을 시작하는 데 걸리는 시간입니다. 동일한 동작을 얻는 다른 솔루션을 높이 평가합니다.

예를 들어some --command=or 'something' | ts '%.T'

답변1

적어도moreutils구현할 때 다음 옵션이 있습니다 -s.

   If the -i or -s switch is passed, ts timestamps incrementally instead.
   In case of -i, every timestamp will be the time elapsed since the last
   timestamp. In case of -s, the time elapsed since start of the program
   is used.  The default format changes to "%H:%M:%S", and "%.S" and "%.s"
   can be used as well.

전임자.

$ while : ; do printf '...\n'; sleep 1; done | ts
May 11 15:42:41 ...
May 11 15:42:42 ...
May 11 15:42:43 ...
May 11 15:42:44 ...
^C

하지만

$ while : ; do printf '...\n'; sleep 1; done | ts -s
00:00:00 ...
00:00:01 ...
00:00:02 ...
00:00:03 ...
00:00:04 ...
^C

관련 정보