Bootstrap

SHELL脚本下获取文件时间转换时间戳,使用时间戳计算日期差

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

本文如有错误,请您指出,感谢阅读。

;