Bash / Shell将命令日期/时间输出与当前日期/时间进行比较

时间:2019-03-06 06:07:58

标签: bash shell

我可以知道如何将命令输出中的日期与date命令进行比较。我不知道如何比较它们。基本上,我想比较命令输出日期/时间和当前日期/时间,以检查它们之间的间隔时间。例如:

  

命令输出日期/时间= 3月6日05:37

     

当前日期/时间= 3月6日05:38

因此,间隔时间= 00:01 ,即 1分钟。谢谢有人能协助我。

ls -lrt | tail -1

date

Refer to this image

2 个答案:

答案 0 :(得分:0)

echo "rame" > somefile #some dile
lastModified="$(stat -c %Y somefile)" #last modification date as seconds since Epoch

now=$(date +%s) #now time
d=$(($now-$lastModified)) #difference in seconds 

echo $d

答案 1 :(得分:0)

以秒为单位获取时间。

startdate=$(ls -lrt --time-style=+"%s" | tail -1 | awk '{ print $6; }')
enddate=$(date +"%s")
echo "Start date $startdate"
echo "End date $enddate"
difference=$(expr $enddate - $startdate)
echo "Seconds difference $difference"

seconds=$((difference%60))
minutes=$((difference/60%60))
hours=$((difference/60/60%24))
days=$((difference/60/60/24))
printf '%02d:' $days
printf '%02d:' $hours
printf '%02d:' $minutes
printf '%02d\n' $seconds