我有成千上万首歌曲,名字如下;
Artist - Song.mp3
Artist - Song.mp3
etc
我需要做的是移动“-”之前的所有内容并将其作为“艺术家”添加到文件的元数据中
我试过几个批量重命名程序和几个命令,但似乎都不起作用,它们只是在文件名中移动东西。我试过的所有命令都是“单行命令”,所以也许如果在终端中我可以剪切文件名中“-”之前的部分,将其放入文本文件中,然后如何使用它?我不确定,对 elementary 来说还很陌生。
如果您无法在 Ubuntu 中执行此操作,我有一个可以使用的 Windows 7 系统。
答案1
如果你的歌曲都贴有标签确切地按照您建议的格式:Acris & Infra - Justice.mp3
一个简单的for
循环可以用一个命令按顺序完成标记和重命名。
对少量备份文件进行以下测试:
for f in *.mp3; do
artist="$(printf "$f" | cut -d '-' -f 1 | sed 's/ *$//')"
eyeD3 --artist "$artist" "$f"
mv -nv "$f" "$(printf "$f" | cut -d'-' -f 2 | sed 's/^ *//')"
done
两点:
- 如果您的收藏中有 2 个不同的艺术家/文件但歌曲标题相同,该命令具有或选项
mv
的保障...-n
--no-clobber
- 您需要安装
eyeD3
才能进行标记,或者只需更改语法即可使用您最满意的标记器