Shell 脚本读取文件的元数据,然后将每个文件 mv 到一个新目录

Par*_*met 5 bash rhel perl shell-script file-metadata

我在我的服务器上使用RHEL7,并且我有一个包含数千个混合.mp3文件的目录,我需要一个脚本来帮助我清理混乱。

\n\n

让\xe2\x80\x99s 假装我的 10 首歌曲是为 Miley Cyrus 创作的,10 首是为 Ed Sheeran 创作的,10 首是为 Beethoven 创作的,10 首是为 Mozart 创作的,等等。所有 mp3 文件都包含一个数字文件名,例如000.mp3001.mp3等。

\n\n

现在我想编写一个脚本来读取所有这些文件的元数据.mp3,并将mv每个文件按歌手的名字存储到新创建的目录中。Ed Sheeran\xe2\x80\x99s 到 Ed Sheeran 目录。

\n\n

我如何通过编写 shell 脚本或 perl 脚本来实现这一点?

\n

Sté*_*las 4

exiftool

exiftool '-Directory<Artist' ./*.mp3
Run Code Online (Sandbox Code Playgroud)

递归地:

exiftool -ext mp3 '-Directory<$Directory/$Artist' -r .
Run Code Online (Sandbox Code Playgroud)