Linux:将100万个文件移动到基​​于前缀的创建文件夹中

Dan*_*Dan 6 linux directory shell rename file

我有一个名为"images"的目录,里面装满了大约一百万张图片.是的.

我想写一个shell命令将所有这些图像重命名为以下格式:

原文: filename.jpg
新: /f/i/l/filename.jpg

有什么建议?

谢谢,

ine*_*rte 7

for i in *.*; do mkdir -p ${i:0:1}/${i:1:1}/${i:2:1}/; mv $i ${i:0:1}/${i:1:1}/${i:2:1}/; done;
Run Code Online (Sandbox Code Playgroud)

${i:0:1}/${i:1:1}/${i:2:1}部分可能是变量,或更短或不同,但上面的命令可以完成工作.您可能会遇到性能问题,但如果你真的想使用它,缩小*.*到更少的选项(a*.*,b*.*或有什么适合你)

编辑:增加了一个$imv,如丹指出