[bash] 경과시간 출력하기

bash 스크립트로 작업을 처리하고선 그 경과 시간을 측정하고자 하려고 한다.

스크립트 특성상 다양한 방법이 있겠지만, date, bc, awk 를 이용해서 만들어 봤다.

#!/bin/bash
beginTime=$(date +%s%N)

# 여기에 작업 내용을 구현한다
sleep 1

endTime=$(date +%s%N)
elapsed=echo "($endTime - $beginTime) / 1000000" | bc
elapsedSec=echo "scale=6;$elapsed / 1000" | bc | awk '{printf "%.6f", $1}'
echo TOTAL: $elapsedSec sec

date 를 이용해서 nanosecond 시간을 얻어서 그 차이를 구한다.

그리고 bc 를 이용해서 부동소수의 초단위의 시간을 계산하고, 그 결과를 awk 에 넘겨서 출력 포맷팅을 만들었다.

위의 실행 결과는 다음과 같다.

TOTAL: 1.003000 sec

참고:

출처: https://netmaid.tistory.com/34 [Service for Every Master]

이 글은 카테고리: Linux에 포함되어 있습니다. 고유주소를 북마크하세요.

댓글 남기기