2021-07-2_shell脚本-讲目录YYYY-MM-DD/中的所有文件移动到YYYY-MM/DD/下

#生成YYYY-MM-DD/目录并在目录下创建文件

#!/bin/bash
for I in {1..365} ;do #创建过去一年以日期命名的目录
        DIR=`date -d "-$I day" +%F`
        mkdir /data/test/$DIR
        for j in {1..10} ;do #在目录下创建10个随机命名的文件
                touch /data/test/$DIR/$RANDOM.log
        done
done

#移动文件到YYYY-MM/DD/目录下

#!/bin/bash
DIR=/data/test #定义变量为/data/test路径
cd $DIR #到/data/test路径下
for DIR1 in * ;do #因为现在已经在/data/test目录下,所以直接使用*表示/data/test下所有文件
        YM=`echo $DIR1 |cut -d"-" -f1,2` #取出年月部分的关键字段,并赋值给变量YM
        DD=`echo $DIR1 |cut -d"-" -f3` #取出日的关键字段,并赋值给DD
        [ -d $YM/$DD ] || mkdir -p $YM/$DD &> /dev/null #判断目录否存在,不存在则创建
        mv $DIR1/* $YM/$DD #移动文件到目录下
done
上一篇:2021-08-02


下一篇:test