![로그인 시간을 시간과 분 단위로 표시](https://linux55.com/image/170976/%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%EC%8B%9C%EA%B0%84%EC%9D%84%20%EC%8B%9C%EA%B0%84%EA%B3%BC%20%EB%B6%84%20%EB%8B%A8%EC%9C%84%EB%A1%9C%20%ED%91%9C%EC%8B%9C.png)
사용자가 로그인했을 때 표시할 스크립트를 작성 중입니다.
who | grep "$userid" | awk '{print $1,$3,$4}' | while read user time; do \echo $(($(($(date +%s) - $(date -d "$time" +%s)))/60)) minutes; done
이 쇼의 시간과 분을 어떻게 만들 수 있나요? 지금은 분만 표시됩니다. 예를 들어 (s)를 포함하여 1시간 45분을 표시해야 합니다.
답변1
GNU 날짜 사용
who | grep "$userid" | awk '{print $1,$3,$4}' | while read user time; do echo -n "$user ";eval "echo $(date -ud "@$(($(($(date +%s) - $(date -d "$time" +%s)))))" +'$((%s/3600/24)) days %H hours %M minutes %S seconds')"; done
예의 바른: 초를 일/시/분/초로 표시하시겠습니까?