使用eyeD3在Bash脚本中重命名ID3标记

时间:2014-06-15 20:01:31

标签: linux bash ubuntu id3 eyed3

我已经尝试了大约20种不同的方式,但我无法让它发挥作用。 也许我做的事情显然是错误的,因为我对Bash脚本非常新。所以任何建议或指示都会有很大帮助。

基本上我有以下脚本在“传入”目录中找到任何带有.mp3扩展名的文件并将其移动到“完整”目录 - 它完美无缺!

#!/bin/bash
find /usr/audio/incoming -name '*.mp3' -exec mv {} /usr/audio/complete \;
exit

现在,我已经安装了eyeD3(http://eyed3.nicfit.net/index.html),我试图在整个过程中将 Title 标记重命名,然后再将其移动到“完整”目录。

我尝试了以下(以及更多),但它们都没有工作:

1)尝试在同一行中完成所有工作......

#!/bin/bash
find /usr/audio/incoming -name '*.mp3' eyeD3 -t "New Title" -exec mv {} /usr/audio/complete \;
exit

2)尝试通过拆分来实现......

#!/bin/bash
cd /usr/audio/incoming eyeD3 -t "New Title" '*.mp3';
find /usr/audio/incoming -name '*.mp3' -exec mv {} /usr/audio/complete \;
exit

3)即使只是试图让eyeD3重命名标签而没有别的......

#!/bin/bash
cd /usr/audio/incoming eyeD3 -t "New Title" '*.mp3';
exit

我知道我做错了但我搜索得很高,而且我可以找到对eyeD3几乎没有新手支持。那里的内容往往是python脚本,它们并没有真正做到我需要的东西。

有人知道我在哪里出错吗? 任何帮助将不胜感激。

编辑:为了清楚起见 - 我想用相同的标题重命名这个目录中每个mp3文件的标签,但是所有的mp3都有不同的文件名,这就是为什么我使用通配符而不是文件名。也许我这样做的方式不对?

1 个答案:

答案 0 :(得分:1)

我认为这会奏效:

find /usr/audio/incoming -name '*.mp3' -exec eyeD3 -t 'New Title' '{}' \; -exec mv '{}' /usr/audio/complete \;