생성하는 데 걸린 시간을 각 줄 앞에 추가

Krzysztof Krasoń

stdin의 각 줄 앞에 정보를 생성하는 데 걸린 시간을 추가하는 스크립트를 갖고 싶습니다. 기본적으로 입력 :

foo
bar
baz

나는 갖고 싶다

0 foo
10 bar
5 baz

10은 foo 인쇄와 인쇄 막대 사이에 10 초가 경과 한 경우 5와 유사하게 인쇄 막대 후 baz를 인쇄하는 데 5 초가 걸렸습니다.

ts타임 스탬프를 보여주는 유틸리티가 있고 https://github.com/paypal/gnomon대해 알고 있지만 자바 스크립트를 사용하지 않는 것을 선호합니다.

이를위한 표준 도구가 있습니까, 아니면 awk를 사용하고 처리해야합니까?

John1024

출력을 생성하는 스크립트가라고 가정 해 보겠습니다 generate. 그런 다음 각 행을 생성하는 데 걸리는 시간 (초)을 표시하려면 다음을 수행하십시오.

$ generate | ( t0=$(date +%s); while read -r line; do t1=$(date +%s); echo " $((t1-t0)) $line"; t0=$t1; done )
 2 foo
 0 foo
 5 foo
 3 foo

여러 줄에 걸쳐있는 동일한 명령은 다음과 같습니다.

generate | ( t0=$(date +%s)
    while read -r line
    do
        t1=$(date +%s)
        echo " $((t1-t0)) $line"
        t0=$t1
    done
    )

또는 편의를 위해 다음 코드를 포함하는 쉘 함수를 정의 할 수 있습니다.

timer() { t0=$(date +%s); while read -r line; do t1=$(date +%s); echo " $((t1-t0)) $line"; t0=$t1; done; }

이 기능을 다음과 같이 사용할 수 있습니다.

$ generate | timer
 0 foo
 2 foo
 4 foo
 3 foo

작동 원리

  • t0=$(date +%s)

    이것은 스크립트 시작 시점의 현재 시간을 에포크 이후 초 단위로 캡처합니다.

  • while read -r line; do

    이것은 표준 입력에서 읽는 루프를 시작합니다.

  • t1=$(date +%s)

    이것은 현재 라인이 캡처 된 Epoch 이후의 시간을 초 단위로 캡처합니다.

  • echo " $((t1-t0)) $line"

    이것은 현재 줄에 걸린 시간을 초 단위로 인쇄합니다.

  • t0=$t1

    이것은 t0다음 줄에 대해 업데이트 됩니다.

  • done

    이것은 while루프 의 끝을 알립니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

각 줄 앞에 추가 공간

분류에서Dev

시계열 데이터에서 임계 값을 초과하는 데 걸린 시간 가져 오기

분류에서Dev

여러 줄 변수는 각 줄 바꿈 앞에 탭을 추가합니다.

분류에서Dev

작업 스케줄러 (Windows)에서 작업 실행을 완료하는 데 걸린 시간을 확인할 수있는 방법이 있습니까?

분류에서Dev

UITextview의 각 줄 앞에 대시 기호 (-)를 추가하는 방법은 무엇입니까? 1

분류에서Dev

출력 txt 파일의 각 줄 시작 부분에 날짜 및 시간을 추가하는 배치 파일

분류에서Dev

systemd에서 마지막 작업을 실행하는 데 걸린 시간을 어떻게 알 수 있습니까?

분류에서Dev

임시 파일을 생성하지 않고 쉘 스크립트에서 생성 된 파일 앞에 줄 수를 추가하는 방법

분류에서Dev

여러 줄의 코드 앞에 탭 공간을 추가하는 방법

분류에서Dev

후속 프로그램 실행을 위해 감소하는 파일에 쓰는 데 걸린 시간

분류에서Dev

CPU가 초당 10 ^ 8 작업으로 작동 할 때 배열을 정렬하는 데 걸린 시간

분류에서Dev

줄리아의 데이터 프레임에서 각 DateTime x 축에 0 값을 추가하는 방법

분류에서Dev

네트워크 프린터 (SAMBA)의 프린터 속성을 Windows 7에서로드하는 데 시간이 오래 걸립니다.

분류에서Dev

Windows에서 암호가 잘못되었음을보고하는 데 걸리는 시간을 줄이는 방법은 무엇입니까?

분류에서Dev

콜드 스타트에서 앱을 실행하는 데 걸리는 시간을 줄이는 방법

분류에서Dev

CSS로만 각 줄 앞에 줄 높이 추가

분류에서Dev

왜 collections.Counter가 빈도 맵을 구성하는 데 걸리는 시간이 for 루프에 의한 단순한 dict 생성보다 적습니까?

분류에서Dev

NavigationView에 더 많은 항목을 추가하는 데 시간이 오래 걸립니다.

분류에서Dev

각 줄의 시작 부분에 다른 문자열을 추가하십시오.

분류에서Dev

각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

분류에서Dev

각 방랑자 작업을 완료하는 데 걸리는 시간 표시

분류에서Dev

Linux에서 파일의 각 줄 앞에 텍스트 추가

분류에서Dev

std :: ostream을 사용하여 각 줄 앞에 텍스트 삽입

분류에서Dev

sed로 각 CJK 문자 ([\ o200- \ o377]) 앞에 줄 바꿈을 추가하는 방법은 무엇입니까?

분류에서Dev

각 줄에 텍스트 파일을 반복하고 각 줄에 다른 텍스트를 추가하는 방법

분류에서Dev

새 줄에 파일의 각 열 앞에 열 1을 인쇄하십시오.

분류에서Dev

줄 번호가 앞에있는 텍스트 파일의 각 줄 읽기

분류에서Dev

루프를 실행하는 데 걸린 시간 (Progress 4GL)

분류에서Dev

공백이있는 여러 줄 변수, 각 줄을 배열에 추가

Related 관련 기사

  1. 1

    각 줄 앞에 추가 공간

  2. 2

    시계열 데이터에서 임계 값을 초과하는 데 걸린 시간 가져 오기

  3. 3

    여러 줄 변수는 각 줄 바꿈 앞에 탭을 추가합니다.

  4. 4

    작업 스케줄러 (Windows)에서 작업 실행을 완료하는 데 걸린 시간을 확인할 수있는 방법이 있습니까?

  5. 5

    UITextview의 각 줄 앞에 대시 기호 (-)를 추가하는 방법은 무엇입니까? 1

  6. 6

    출력 txt 파일의 각 줄 시작 부분에 날짜 및 시간을 추가하는 배치 파일

  7. 7

    systemd에서 마지막 작업을 실행하는 데 걸린 시간을 어떻게 알 수 있습니까?

  8. 8

    임시 파일을 생성하지 않고 쉘 스크립트에서 생성 된 파일 앞에 줄 수를 추가하는 방법

  9. 9

    여러 줄의 코드 앞에 탭 공간을 추가하는 방법

  10. 10

    후속 프로그램 실행을 위해 감소하는 파일에 쓰는 데 걸린 시간

  11. 11

    CPU가 초당 10 ^ 8 작업으로 작동 할 때 배열을 정렬하는 데 걸린 시간

  12. 12

    줄리아의 데이터 프레임에서 각 DateTime x 축에 0 값을 추가하는 방법

  13. 13

    네트워크 프린터 (SAMBA)의 프린터 속성을 Windows 7에서로드하는 데 시간이 오래 걸립니다.

  14. 14

    Windows에서 암호가 잘못되었음을보고하는 데 걸리는 시간을 줄이는 방법은 무엇입니까?

  15. 15

    콜드 스타트에서 앱을 실행하는 데 걸리는 시간을 줄이는 방법

  16. 16

    CSS로만 각 줄 앞에 줄 높이 추가

  17. 17

    왜 collections.Counter가 빈도 맵을 구성하는 데 걸리는 시간이 for 루프에 의한 단순한 dict 생성보다 적습니까?

  18. 18

    NavigationView에 더 많은 항목을 추가하는 데 시간이 오래 걸립니다.

  19. 19

    각 줄의 시작 부분에 다른 문자열을 추가하십시오.

  20. 20

    각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

  21. 21

    각 방랑자 작업을 완료하는 데 걸리는 시간 표시

  22. 22

    Linux에서 파일의 각 줄 앞에 텍스트 추가

  23. 23

    std :: ostream을 사용하여 각 줄 앞에 텍스트 삽입

  24. 24

    sed로 각 CJK 문자 ([\ o200- \ o377]) 앞에 줄 바꿈을 추가하는 방법은 무엇입니까?

  25. 25

    각 줄에 텍스트 파일을 반복하고 각 줄에 다른 텍스트를 추가하는 방법

  26. 26

    새 줄에 파일의 각 열 앞에 열 1을 인쇄하십시오.

  27. 27

    줄 번호가 앞에있는 텍스트 파일의 각 줄 읽기

  28. 28

    루프를 실행하는 데 걸린 시간 (Progress 4GL)

  29. 29

    공백이있는 여러 줄 변수, 각 줄을 배열에 추가

뜨겁다태그

보관