linux 如何根据文件的时间进行删除
由于之前目前没有用时间来命名,现在需要按时间删除文件。以下脚本是 查找10天前到前100天的数据。
#/bin/bash for i in `seq 10 1 100` do d10dayago1=`date -d"${i} day ago" | awk '{print $2}'` # 打印i天前原始月(用于匹配检索需迁移文件) d10dayago2=`date -d"${i} day ago" | awk '{print $3}'` # 打印i天前原始日(用于匹配检索需迁移文件) d10dayago3=`date -d"${i} day ago" +%Y%m%d` # 打印i天前年月日时间戳(用于新建目录) srcpath=/data/aa # 需迁移文件所在目录 dstpath=/data/bb # 迁移后文件所在目录 for file in `ls -lh ${srcpath} | awk '{print $6"\t"$7"\t"$9}' | grep ${d10dayago1} | grep -w ${d10dayago2} | awk '{print $3}'` # 匹配检索需迁移文件并取得文件名称 do ls -l ${srcpath}/${file} #mv ${srcpath}/${file} ${dstpath}/${d10dayago3} #du -sh ${srcpath}/${file} done done
浙公网安备 33010602011771号