我有大约 1000 个文件 (png),需要将它们移动到相应的目录及其子目录中。
我确实有 26 个目录(A - Z),并且在每个目录下面又是完整的字母 AZ。文件名长度为 6 个字符/数字,并具有 png 扩展名,例如 AH2BC0.png
我需要将文件 AH2BC0.png 移动到目录 A 中,并在该目录中移动到子目录 H 中,例如 A->H->AH2BC0.png。
我创建了以下脚本,但它并没有按预期工作:
#!/bin/bash
ls >LISTE.txt
for i in LISTE.txt; do
a=$(cat $i | cut -b 1 | tr '[:lower:]' '[:upper:]')
b=$(cat $i | cut -b 2 | tr '[:lower:]' '[:upper:]')
mkdir -p $a/$b
cat $i | xargs mv $a/$b
rm $i
done
问题是a)未创建子目录,b)未移动文件。对脚本有什么建议或更好的想法吗?
谢谢
PS:我想很明显,我已经在几年前创建了任何 bash 脚本或编码,所以请多多包涵。PSS:在 MAC OSX bash 3.2 上工作