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

时间:2014-01-02 00:23:57

标签: bash

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

1 个答案:

答案 0 :(得分:2)

#!/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