SHELL脚本下获取文件时间使用时间戳计算日期差
获取时间戳按秒计算
获取
LINUX获取当前时间的时间戳
#确认时间戳代表的日期可以百度时间戳转换工具进行转换
CurrTime=date "+%Y-%m-%d %H:%M:%S"
#获取日期
CurrTimestamp=date -d "$CurrTime" +%s
#转化时间戳
获取文件的时间戳
文件的时间戳为文件的最后修改时间
#改变ls 的时间输出格式
ls -l --time-style '+%Y-%m-%d %H:%M:%S'
#输出日期,时间,文件名
ls -l --time-style '+%Y-%m-%d %H:%M:%S' | awk '{print $6,$7,$8}' >> a.txt
ls -al 显示目录下的文件,包括隐藏文件
ls -al --time-style '+%Y-%m-%d %H:%M:%S' #更改文件时间格式输出
ls -al --time-style '+%Y-%m-%d %H:%M:%S' | grep xxx | awk '{print $6,$7,$8}' >> a.txt
如果想获取
计算
计算当前时间和文件最后修改时间的时间差。
ls -l显示的时间为最后修改时间。仅读文件,ls -l 显示的时间不会改变
#显示文件夹下的文件,并将日期 ,时间,文件名追加存入a.txt中
ls -l --time-style '+%Y-%m-%d %H:%M:%S' awk '{print $6,$7,$8}' >> a.txt
#读a.txt中的信息,转换时间戳计算,$stucktime为文件最后修改时间到现在的秒数
while read TimeD TimeS savename
do
FTime=`echo $TimeD $TimeS`
FTimestamp=`date -d "$FTime" +%s`
stucktime=$((CurrTimestamp-FTimestamp))
echo $stucktime
done < a.txt
本文如有错误,请您指出,感谢阅读。