600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Linux下实现文件夹内随机拷贝文件到另一个文件夹

Linux下实现文件夹内随机拷贝文件到另一个文件夹

时间:2022-05-18 20:22:56

相关推荐

Linux下实现文件夹内随机拷贝文件到另一个文件夹

Linux下实现文件夹内随机拷贝文件到另一个文件夹

前几天,搞训练集和验证集划分的时候,从源文件中拷贝训练集和验证集,没考虑到样本的均分,导致训练效果不尽如人意。又回过头来重新划分下,参考几个大神的代码,自己搞了个随机拷贝文件脚本,代码如下:

datapath='源文件路径'trainpath='训练集目标文件路径'dirlist=`ls $datapath`dirNum=`ls $datapath -l|grep "^-"|wc -l`#echo $dirNumk=0for fileName in $dirlistdo fileNameArr[k]=$fileNamek=$k+1donearr=( $(seq 1 $dirNum ))num=${#arr[*]}#echo $numfilterNum=120res=${arr[$(( $RANDOM%num ))]}fileArr[1]=$res#echo $fileArr[1]let i=2while(( i <= filterNum));dores=${arr[$(($RANDOM%num))]}fileArr[i]=$res#echo $res#echo ${fileArr[i]}for ((j=1 ; j<i ; j++));donumJ=${fileArr[j]}if [ $res = $numJ ]thenunset fileArr[i]((i--))#i=$i-1breakfidone((i++))#i=$i+1donefor (( indexNum = 0 ; indexNum < $filterNum ; indexNum++ ))do#i=${fileArr[indexNum]}#echo $i#echo ${fileNameArr[$i]}echo $indexNummv $datapath/${fileNameArr[${fileArr[indexNum]}]} $trainpathdone

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。