拆分目录上的文件并将它们移动到另一个新创建的目录

拆分目录上的文件并将它们移动到另一个新创建的目录

我的一个文件夹中有 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

试试这个代码

效果很好,我已经测试过了

相关内容