3

我有以下脚本,它可以在目录中找到任何带有.mp3扩展名的incoming文件并将其移动到complete目录中——它工作得很好!

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

现在,我已经安装了 eyeD3 ( http://eyed3.nicfit.net/index.html ),并且我试图在整个过程中的某个地方重命名Title标签,然后再将它移到complete目录中。

我已经尝试了以下(以及更多),但它们都不起作用:

  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 都有不同的文件名,这就是我使用通配符而不是文件名的原因。也许我这样做是错误的?

4

1 回答 1

3

我认为这会起作用:

find /usr/audio/incoming -name '*.mp3' -exec eyeD3 -t 'New Title' '{}' \; -exec mv '{}' /usr/audio/complete \;
于 2014-06-15T20:40:37.093 回答