
이 time(1)
명령을 사용하면 명령을 에 인수로 전달하여 명령의 시간을 측정할 수 있습니다 time
.
를 통해 파일로 리디렉션 stderr
하는 것이 가능하다는 것을 알고 있으며 입력 내용을 화면과 파일 모두에 복사할 수 있는 방법 도 있습니다 . 그러나 로그에 타임스탬프를 추가하는 방법을 모르겠습니다.stdout
2>&1
tee(1)
stderr
로깅 목적으로 파일을 리디렉션 하고 stdout
파일에 타임스탬프를 추가하는 도구가 있습니까 ?
답변1
ts(1)
moreutils에서 사용할 수 있습니다 .
ts
~에서더 많은 유틸리티입력하는 모든 줄에 타임스탬프를 추가합니다. 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
$
설치하려면:
sudo apt-get install moreutils
이 답변에서 복사한 내용:https://stackoverflow.com/a/9813614/221689
답변2
annotate-output
데비안에서 시도해 보세요개발 스크립트패키지. 타임스탬프를 표시하고 표준 출력 앞에 "O"를 쓰고 표준 오류 앞에 "E"를 씁니다. 예:
# run `ls` on one file that exists, and one that doesn't...
annotate-output ls /bin/bash /tmp/boosh
산출:
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