1

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

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

1 ответ1

1

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

#!/bin/sh


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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .