我有一个非常大的目录,里面可能有数百万个小文件。在该目录上运行 ls 需要很长时间。
有没有一个简单的脚本可以运行,根据文件名的前缀将目录拆分成较小的目录。我的目标是最终得到类似于Debian 档案库的池目录好像。
答案1
这太简单了吗?只需根据文件首字符将每个文件推送到单字母目录中即可。
#!/bin/sh
for i in `/bin/ls | xargs`
do
dir=`echo $i | cut -c 1 -`
mkdir -p $dir
mv $i $dir
done
您没有获得“lib”目录,但您可以为其他前缀制定特殊规则。