我的一个文件夹中有 1000 个文件,我需要将它们分成每个 100 个文件的数量。之后,我需要自动将这 100 个文件移动到自动创建的新文件夹中。
我使用此命令手动移动文件。
for file in $(ls -p | grep -v / | tail -100);
do
mv "$file" NEWFOLDER;
done
但是,如果单个文件夹中有大约 10000 个文件,这将是非常困难的。
答案1
我找到了答案https://stackoverflow.com/questions/10394543/need-a-bash-scripts-to-move-files-to-sub-folders-自动
#!/bin/bash
c=1; d=1; mkdir -p NEWDIR_${d}
for jpg_file in *.jpg
do
if [ $c -eq 100 ]
then
d=$(( d + 1 )); c=0; mkdir -p NEWDIR_${d}
fi
mv "$jpg_file" NEWDIR_${d}/
c=$(( c + 1 ))
done
试试这个代码
效果很好,我已经测试过了