tee
cat
나중에 파일을 사용할 수 있도록 stdin의 복사본을 파일에 저장합니다 .
타이밍을 기록하고 재생하면서 이를 수행할 수 있는 도구가 있습니까?
그래서 나는 다음을 원한다:
$ (echo foo; sleep 1; echo bar) |
the-tee-tool --out myfile > /dev/null
$ time the-tee-tool --in myfile | cat
foo
bar
real 0m1.002s
user 0m0.002s
sys 0m0.000s
그러한 도구를 어떻게 만들 수 있는지 알고 있지만 이미 존재합니까?
답변1
이제 이것이다:https://gitlab.com/ole.tange/tangetools/-/tree/master/teetime
Usage:
... | teetime [-a] file | ...
teetime -i file
-a append to file
-i read from file
답변2
나는 일할 시간을 가질 수 없었기 때문에 (오류가 없었을 수도 있고 잘못된 Perl이 있었을 수도 있음) pip로 설치할 수 있는 것을 작성했습니다.
pip3 install --user pipevcr
다음과 같은 녹음 파이프라인을 사용할 수 있습니다 -r
.
(echo start; sleep 1; echo continue; sleep 1; echo end) | pipevcr -r test.vcr
재생해 보세요.
pipevcr test.vcr
작업 속도를 높이려면 일시 중지에 대한 최대 대기 시간을 설정할 수 있습니다.
pipevcr -m 300 test.vcr
답변3
필요한 정확도에 따라 다릅니다. 1초의 정확도를 달성하기 위해 쉘 스크립트는 각 행 앞에 현재 SECONDS 값을 추가하기만 하면 됩니다. 재생되면 자체 SECONDS와 파일의 다음 줄 값 사이의 기간 동안 휴면 상태가 될 수 있습니다.
정밀도를 높이려면 호출 date
(알 수 없는 정밀도에 나노초를 제공하고 각 데이터 행에 대해 외부 프로시저를 트리거함) 또는 C(마이크로초 제공)를 사용해야 합니다. 입력 파이프라인의 지연은 초기 타임스탬프에 약간 영향을 미칩니다.