recursion地重命名文件并将它们移动到一个单独的目录中

我有一个在CentOS有50万用户的项目。 图片文件/目录结构像这样安装(是啊…我知道):

  • user/0070/这是用户ID / 1000,所以[70000-70999]范围内的所有用户都在这个目录
  • user/0070/70909/这是用户标识
  • user/0070/70909/p.jpg个人资料图片(100×100)
  • user/0070/70909/x.jpg全尺寸图片

我将所有内容都转移到CDN,所以我需要将这个结构转换为:

  • user/70909.p.jpg个人资料图片(100×100)
  • user/70909.x.jpg全尺寸图片

当然,在一段时间内实现这一目标的唯一方法是执行一个脚本,在一个目录中重命名和移动所有文件。 有任何想法吗? 谢谢!

在bash中:

 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