将包含 1400 万个文件的目录拆分为多个子目录



我有一个名为direct的目录,它包含1400万个文件,其表单为file54.txt其中名称file54.txt中的数字54可以用1到1400万之间的任何自然数代替。有没有办法将这些文件拆分为例如标题为 direct 的目录中的 1000 个子目录,这些子目录总共包含所有 1400 万个文件?

#!/bin/bash
for (( i=0; i < 14000000; ++i )); do
    (( dirname=i/14000 ))
    if (( i%14000 == 0 )); then
        mkdir -p direct/$dirname
    fi
    mv direct/file$i.txt direct/$dirname/file$i.txt
done

最新更新