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

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

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

original:filename.jpg
new:/f/i/l/filename.jpg

有什么建议?

谢谢,

解决方法

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;

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

编辑:在我为mv之前添加$$,如Dan所述

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。