利用shell将YYYY-MM-DD目录下文件移动到YYYY-MM/DD下

1、编写一个shell脚本dir10.sh,创建当前日期一年前365天的目录YYYY-MM-DD,并且下面有10个文件$RANDOM.log

vim dir10.sh

#!/bin/bash

for i in {1..365} ;do
        DIR=`date -d "-$i day" +%F`
        mkdir /data/test/$DIR

    for j in {1..10};do
        
        touch /data/test/$DIR/$RANDOM.log
 done 
        cd ..
done

运行截图(tree命令系统中默认没有,需要进行安装 yum install tree -y)

2、将YYYY-MM-DD目录下文件移动到YYYY-MM/DD下

vim mv_dir10.sh

#!/bin/bash

DIR=/data/test
cd $DIR
for DIR in * ;do

        YYYY_MM=`echo $DIR|cut -d'-' -f1,2`
        DD=`echo $DIR|cut -d'-' -f3`
        [ -d $YYYY_MM/$DD ] || mkdir -p $YYYY_MM/$DD
        mv $DIR/* $YYYY_MM/$DD
done

----------------------------------------------------------
#将YYYY-MM-DD目录移动到YYYY-MM下

#!/bin/bash

DIR=/data/test
cd $DIR
for DIR in * ;do

        YYYY_MM=`echo $DIR|cut -d'-' -f1,2`
        [ -d $YYYY_MM ] || mkdir  $YYYY_MM
        mv $DIR $YYYY_MM
done

猜你喜欢

转载自blog.csdn.net/l_liangkk/article/details/114266741