我有一个名为“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所述