歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux Shell編程 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

Copyright © Linux教程網 All Rights Reserved