Разделите каталог на основе префикса имени файла

У меня есть очень большой каталог с, вероятно, миллионами маленьких файлов в нем. Это берет навсегда для выполнения ls на каталоге.

Есть ли легкий скрипт, который я могу запустить для разделения каталога на меньшие, на основе префиксов имен файлов. Моя цель состоит в том, чтобы закончить что-то подобное тому, на что похож каталог пула архивов Debian.

1
задан 05.03.2010, 06:22

1 ответ

Действительно ли это слишком просто? Просто продвиньте каждый файл в однобуквенный каталог на основе файла первый символ.

#!/bin/sh


for i in `/bin/ls | xargs`
do
    dir=`echo $i | cut -c 1 -`
    mkdir -p $dir
    mv $i $dir
done

Вы не получаете каталоги 'lib', но Вы могли сделать специальные правила для других префиксов.

1
ответ дан 17.12.2019, 00:47

Теги

Похожие вопросы