我发现这个脚本http://www.skryking.net/post/bash-sort-mp3-s-by-id3-tag:
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in `ls -1 *.mp3`
do
TITLE="`id3info "$i" | grep '^=== TIT2' | sed -e 's/.*: //g'`"
ARTIST="`id3info "$i" | grep '^=== TPE1' | sed -e 's/.*: //g'`"
ALBUM="`id3info "$i" | grep '^=== TALB' | sed -e 's/.*: //g'`"
YEAR="`id3info "$i" | grep '^=== TYER' | sed -e 's/.*: //g'`"
TRACKNUM="`id3info "$i" | grep '=== TRCK' | sed -e 's/.*: //g'`"
if [ -e "$TITLE" ]; then
TITLE="Unknown"
fi
if [ -e "$ARTIST" ]; then
ARTIST="Unknown"
fi
if [ -e $ALBUM ]; then
ALBUM="Unknown"
fi
if [ -e $YEAR ]; then
YEAR="Unknown"
fi
if [ -e $TRACKNUM ]; then
TRACKNUM="Unknown"
fi
echo "$ARTIST $TITLE $ALBUM $YEAR $TRACKNUM"
install -D "$i" /storage/Multimedia/Music/"$ARTIST"/"$ALBUM"/"$i"
echo "/storage/Multimedia/Music/$ARTIST/$ALBUM/$i" >> filelist.txt
done
IFS=$SAVEIFS
Run Code Online (Sandbox Code Playgroud)
显然,您需要修改它以使用您的特定文件夹。它要求所有未分类的音乐都在一个文件夹中,并且不会进入子文件夹,但除此之外它很棒。
我以前也有类似的安排。我选择的方法是不让人们写入实际的最终目录,而是有一个传入目录,该目录每天处理一次所有文件,并在此过程中将它们移动到音乐目录。
我发现这好多了,因为我可以一次性处理元数据并删除垃圾文件。
这不会是最有用的帖子,因为我丢失了为此编写的脚本。这是一个 Python 脚本,可以从 Amazon 获取专辑封面,如果没有元数据则检查 CDDB,等等。如果您正在寻找一个快速的 Python 项目,我可以衷心推荐它 - 它很有趣。
否则,您可以使用传入的安排并运行 Banshee 之类的东西,它内部有一个很棒的音乐组织引擎。唯一的问题是您必须手动进行导入,因为我认为没有自动导入功能。
| 归档时间: |
|
| 查看次数: |
749 次 |
| 最近记录: |