У меня есть очень большой каталог с, вероятно, миллионами маленьких файлов в нем. Это берет навсегда для выполнения ls на каталоге.
Есть ли легкий скрипт, который я могу запустить для разделения каталога на меньшие, на основе префиксов имен файлов. Моя цель состоит в том, чтобы закончить что-то подобное тому, на что похож каталог пула архивов Debian.
Действительно ли это слишком просто? Просто продвиньте каждый файл в однобуквенный каталог на основе файла первый символ.
#!/bin/sh
for i in `/bin/ls | xargs`
do
dir=`echo $i | cut -c 1 -`
mkdir -p $dir
mv $i $dir
done
Вы не получаете каталоги 'lib', но Вы могли сделать специальные правила для других префиксов.