这些是目录中的文件:
Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg
Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg
我想将它们分类到子文件夹中:
/Mustang
/Impala
答案1
显而易见的答案:
只需创建目录并将文件放入其中即可。
mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/
这就是所谓的文件通配;这是一个 shell 功能。
如果您有大量文件并且需要创建许多不同的目录来容纳它们,请尝试乔乔的回答。
答案2
使用名称(perl 重命名器)
prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg
答案3
awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}
如果你想重命名,我会使用 awk 分割文件名,你可以使用 mv 程序来完成此操作