所以我现在所拥有的是youtube-dl下载到这个文件夹“/ media / zachary / Ante'esemone / Not in iTunes /”,它会创建一个包含频道名称的文件夹,例如:
然后在这些文件夹中标记为:
的.mp3文件所以我有一个脚本可以一次编辑1个文件夹中所有文件的ID3标签,这个脚本会添加从中下载的频道的名称,并将文件名中的艺术家名称添加到ID3标签也是。例如:
Aether - Catharsis.mp3
变为:
Catharsis.mp3(ID3标签为“Aether”为艺术家,“Mrsuicidesheep”为评论)
但是我当前的脚本(我将在下面添加它)一次只能执行1个文件夹,我需要的是一个命令(或对脚本的编辑),它可以同时执行父文件夹中的所有文件夹。
#!/bin/bash
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
^将添加Artist标签并将文件重命名为Track name
我为任何最初的困惑道歉。
答案 0 :(得分:0)
试试这个?:
#!/bin/bash
for f in */*.mp3; do
directory=${f//\/*/}
artist=$(printf "$f" | sed -e 's:[^/]*/::g' -e 's: - .*::g')
eyeD3 --artist "$artist" "$f"
mv -nv "$f" "$directory/${f//* - /}"
done
我删除了printf | cut | sed
我不认为有必要的地方,但可以随意这样做。