利用shell脚本将文件夹中的文件做均分
功能介绍
现在有个一个含有9999个文件的文件夹test,想将其中的文件均分成3份,每份3333个并存放到3个不同的新文件夹new_dir1,new_dir2,new_dir3中
shell脚本如下
#!/bin/bash
# 指定原始文件夹和新文件夹
original_dir=./test
new_dir_prefix=./new_dir
# 计算每份文件数量
total_files=$(ls $original_dir | wc -l)
files_per_dir=$((total_files/3 + 1))
# 按照文件数量将原始文件夹内的文件均分到3个新文件夹中
for i in {1..3}
do
new_dir=$new_dir_prefix$i
mkdir $new_dir
files=$(ls $original_dir | sed -n "$((files_per_dir*(i-1)+1)),$((files_per_dir*i))p")
for file in $files
do
cp $original_dir/$file $new_dir
done
done