linux for 循環問題

一個文件夾裏有30000(00000-30000)個文件,我想把他分到30個文件夾(代碼生成)內,並且文件夾名爲00000-01000,01001-02000 .....
 


1、新建00000-30000
#!/bin/bash
#touch
i=0
while [ $i -le 30000 ]
do
touch $(printf "%05d\n" $i)
((i++))
done
2、新建目錄及複製文件
#!/bin/bash
i=1
aaa=$i+1
path=/tmp/test/111
path2=/tmp/test/1
#mkdir $path/'0'$i'000''-''0'$aaa'000'
#$i=$[$i+1]
#cp $path2/00*  $path/'0'$i'000''-''0'$aaa'000'
for i in $(seq 30);
do
bbb=$[$i-1]
if [ $i -lt 10 ];then
mkdir  $path/'0'$bbb'001''-''0'$i'000'
cp $path2/'0'$bbb*  $path/'0'$bbb'001''-''0'$i'000'
else
bbb=$[$bbb+1]
i=$[$i-1]
mkdir $path/$i'001''-'$bbb'000'
cp $path2/$i* $path/$i'001''-'$bbb'000'
fi
done

存在的問題:09000-10000 會生成9000-10000,因爲才學這個地方沒有好,希望大家批評指正,謝了!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章