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

 

posted @ 2023-02-17 11:17  jk_tim  阅读(613)  评论(0)    收藏  举报