Рекурсивное переименование файлов и перемещение их в один каталог
У меня есть проект с 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