Linux下实现文件夹内随机拷贝文件到另一个文件夹
前几天,搞训练集和验证集划分的时候,从源文件中拷贝训练集和验证集,没考虑到样本的均分,导致训练效果不尽如人意。又回过头来重新划分下,参考几个大神的代码,自己搞了个随机拷贝文件脚本,代码如下:
datapath=\'源文件路径\'
trainpath=\'训练集目标文件路径\'
dirlist=`ls $datapath`
dirNum=`ls $datapath -l|grep \"^-\"|wc -l`
#echo $dirNum
k=0
for fileName in $dirlist
do
fileNameArr[k]=$fileName
k=$k+1
done
arr=( $(seq 1 $dirNum ))
num=${#arr[*]}
#echo $num
filterNum=120
res=${arr[$(( $RANDOM%num ))]}
fileArr[1]=$res
#echo $fileArr[1]
let i=2
while(( i <= filterNum));
do
res=${arr[$(($RANDOM%num))]}
fileArr[i]=$res
#echo $res
#echo ${fileArr[i]}
for ((j=1 ; j<i ; j++));
do
numJ=${fileArr[j]}
if [ $res = $numJ ]
then
unset fileArr[i]
((i--))#i=$i-1
break
fi
done
((i++))#i=$i+1
done
for (( indexNum = 0 ; indexNum < $filterNum ; indexNum++ ))
do
#i=${fileArr[indexNum]}
#echo $i
#echo ${fileNameArr[$i]}
echo $indexNum
mv $datapath/${fileNameArr[${fileArr[indexNum]}]} $trainpath
done
继续阅读与本文标签相同的文章
上一篇 :
《算法技术手册》一1.3 高明做法
下一篇 :
java lambda之ListHelper
-
猎户星空CEO傅盛:现在是AI发展最好时期,家庭服务机器人前景可期
2026-05-14栏目: 教程
-
5G远程驾驶和微公交首秀互联网大会
2026-05-14栏目: 教程
-
学宏程序编程,这些知识必不可少!
2026-05-14栏目: 教程
-
华为准备卖出“落后”的5G,多家美企极力竞争!任正非格局太大!
2026-05-14栏目: 教程
-
百度:飞桨深度学习平台已累计服务150多万开发者
2026-05-14栏目: 教程
