shell脚本之给文件按照扩展名归类

#!/bin/bash

#装扩展名的数组
arr_ext=()

ProjPath=`cd $(dirname "$0");pwd`
dirPath="$ProjPath/process"
#包含所有文件的根目录
#echo $dirPath

#创建分类目录
descPath="$ProjPath/desc"
if test -e $descPath
then
        rm -rf $descPath
else
        mkdir $descPath
fi

read_dir(){
        for file in `ls -a $1`
        do
                if [ -d $1"/"$file ]
                then
                        if [[ $file != '.' && $file != '..' ]]
                        then
                                read_dir $1"/"$file
                        fi
                else
                        FILE=$1"/"$file
                        echo ${FILE}
                        #获取文件的扩展名
                        EXT="${FILE##*.}"

                        #判断元素在素组中已经存在
                        isexist=0
                        for var in ${arr_ext[@]}
                        do
                                if [[ $var == $EXT ]]
                                then
                                        isexist=1
                                fi
                        done

                        if [[ $isexist == 0 ]]
                        then
                                #向数组中追加元素
                                arr_ext[${#arr_ext[*]}]=$EXT

                                #创建分类目录
                                mkdir $descPath"/"$EXT
                        fi

                        #拷贝文件到分类目录
                        cp $FILE $descPath"/"$EXT
                        echo -e "拷贝成功!\n"

                fi
        done
}

read_dir $dirPath

#便利数组
for var in ${arr_ext[@]}
do
        echo "扩展名:"$var
done

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

reg183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值