如何根据文件名部分将文件排序到子文件夹中?

如何根据文件名部分将文件排序到子文件夹中?

这些是目录中的文件:

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 程序来完成此操作

相关内容