我正在编写一个脚本来显示用户登录的时间。
who | grep "$userid" | awk '{print $1,$3,$4}' | while read user time; do \echo $(($(($(date +%s) - $(date -d "$time" +%s)))/60)) minutes; done
我怎样才能让这个显示小时和分钟?截至目前,它仅显示分钟。例如,我需要它显示 1 小时和 45 分钟,其中包含 (s)。
答案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
礼貌 : 将秒显示为天/小时/分钟/秒?