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

У меня есть проект с 500k пользователей в CentOS. Структура файла / директории с изображениями была настроена так (да... я знаю):

  • user/0070/ это идентификатор пользователя / 1000, так что все пользователи в диапазоне [70000-70999] находятся в этом каталоге
  • user/0070/70909/ это идентификатор пользователя
  • user/0070/70909/p.jpg аватарка (100x100)
  • user/0070/70909/x.jpg полноразмерная картинка

Я перемещаю все в CDN, поэтому мне нужно преобразовать эту структуру в эту:

  • user/70909.p.jpg аватарка (100x100)
  • user/70909.x.jpg полноразмерная картинка

Конечно, единственный способ достичь этого за определенный период времени - выполнить скрипт, который переименовывает и перемещает все файлы в одном каталоге. Есть идеи? Спасибо!

1 ответ

Решение

В Баш:

cd user
for i in *; do
    for j in $i/*; do
        for k in $j/*; do
            mv $k `basename $j`.`basename $k`
        done
    done
done
Другие вопросы по тегам