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所述

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...