[완료]쉘 스크립트 시간 합 구하기 질문 드립니다.

wire101의 이미지

last test-user > test.txt

하고 나서 젤 윗부분에 로그인 타임 합을 넣고 싶습니다.

도움 부탁 드립니다.

감사 합니다.

#지금까지 2월 사용 시간은 00 시간 00 분 입니다. <== 이렇게요

test-user ppp3 xxx.xxx.xxx.xxx Sat Feb 9 01:49 - 02:03 (00:13)
test-user ppp4 xxx.xxx.xxx.xxx Sat Feb 9 01:23 - 01:45 (00:22)
test-user ppp2 xxx.xxx.xxx.xxx Fri Feb 8 21:34 - 21:54 (00:19)
test-user ppp1 xxx.xxx.xxx.xxx Fri Feb 8 13:31 - 13:59 (00:27)
test-user ppp0 xxx.xxx.xxx.xxx Fri Feb 8 11:00 - 11:02 (00:01)
test-user ppp0 xxx.xxx.xxx.xxx Fri Feb 8 10:45 - 10:46 (00:00)
test-user ppp0 xxx.xxx.xxx.xxx Fri Feb 8 10:42 - 10:45 (00:02)
test-user ppp0 xxx.xxx.xxx.xxx Fri Feb 8 10:40 - 10:41 (00:00)

panda005의 이미지

last test-user | count_time.sh > test.txt

그러면 결과가

total login time = 01:24

이렇게 나오네요.

<span>count_time.sh</span>
<hr class="bb-hr" />
#!/bin/sh
 
total_login_hour=0
total_login_minute=0
 
while read user tty ip weekday month date start_time dash end_time login_time; do
    login_hour=${login_time:1:2}
    login_minute=${login_time:4:2}
 
    let total_login_hour+=login_hour
    let total_login_minute+=login_minute
done
 
let total_login_hour+=total_login_minute/60
let total_login_minute%=60
 
printf "total login time = %02d:%02d\n" $total_login_hour $total_login_minute
wire101의 이미지

머리가 나쁘면 손발이 고생한다

머리가 나쁘면 손발이 고생한다