假设我有一个包含200K文件的文件夹,所有文件都说是JPG,现在我想制作子文件夹并在每个文件夹中复制10K文件。在Linux中有可能吗?我想这样做是因为每当我尝试将这些巨型文件夹复制到USB时它就会失败。如果我可以创建子文件夹,那么我认为这很容易。
答案 0 :(得分:0)
虽然对于shell脚本来说这是一个有趣的任务,但我会采用另一种方式并使用rsync
在可能的多次迭代中可靠地复制文件。
此外,如果目标设备发生故障,则可能是USB线缆,闪存或文件系统问题的迹象。
作为脚本解决方案,我快速测试了这个内容脚本:
X=0;num=0; for files in
ls -1 ; do dest=sub${X};((num++)); [ -d $dest ] || mkdir $dest; cp -r "$files" $dest; if (( $num >= 10000 )) ; then num=0; X=$(($X+1)); fi;done
需要在目录中运行200k +文件,它会创建子目录sub,sub1,subX和副本! (不移动)文件到这些目录。随意采用您的需求