#生成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