-1

我有大量音频文件,对于每个音频文件,我想获得“艺术家”的值,并用我从“艺术家”获得的值设置“专辑艺术家”。

4

1 回答 1

0
  1. 安装 eyed3,一个可以读写音频标签的免费命令行工具。

  2. 将所有音频文件标签设置为 idv2.4:

     find . -name "*" -type f -exec eyeD3 --to-v2.4 {} \; >> ~/eyed3.log 2>&1
    
  3. 删除剩余的 idv1.0 标签(有些播放器会同时读取 idv1 和 idv2 并将 idv1 优先于 idv2,这有时会使您无法通过音乐播放器编辑标签):

     find . -name "*" -type f -exec eyeD3 --remove-v1 {} \; >> ~/eyed3.log 2>&1
    
  4. 使用 find 命令并在每次点击时执行 shell 代码:读取标签,grep 艺术家字段,删除“艺术家:”字符串,并将结果存储在变量专辑艺术家中。然后再次使用 eyed3 将值从艺术家写入到专辑艺术家字段。

     find . -name "*" -type f -exec sh -c 'albumartist=$(eyeD3 "$1" | grep -P "(?<=^artist)" | sed "s/artist\:\ //g"); eyeD3 -b "$albumartist" "$1"' sh {} \;
    
于 2022-01-01T20:41:58.530 回答