ich habe mir ein kleines Script gebastelt, das die von mcrec aufgezeichneten mp2/mp3 Dateien sortiert. Das Script erzeugt pro Artist und darunter pro Album ein Unterverzeichnis und schiebt die Dateien darin hinein. Der Namen des Artist und des Albums wird aus dem id3 Tag ausgelesen.
Evtl. kann es ja noch jemand gebrauchen
Gruß
masque
Code: Alles auswählen
#!/bin/bash
# parameter pruefen
if [ ! $1 ]; then
echo "usage: mpsort <source dir> <optional destination dir>"
echo " "
echo "example: mpsort ./ "
echo "example: mpsort ./ /mymusik/mp3/"
echo "example: mpsort /finished/hitlist/ /mymusik/mp3/"
echo " "
exit 1
fi
# Pruefen ob es im sourcedir mp2 oder mp3 dateien gibt
if [ -z "`ls $1*.mp[23] 2> /dev/null`" ]; then
echo "Keine mp2 oder mp3 Dateien gefunden";
exit 1;
fi
# pruefen ob das destination dir existiert
predir=$2
if [ ! -d $predir ];then
echo "Das Zielverzeichnis existiert nicht";
exit 1;
fi
for tmp0 in $1/*mp[23]
do
# hol die id3 tags aus dem mp2-3 file und merk sie dir
#
# Array id3
# 0 : Filename
# 1 : Titel
# 2 : Artist
# 3 : Album
# 4 : Year
# 5 : Genre
# 6 : Track
# 7 : Comment
#
let "i=0"
for id3tag in Filename Title Artist Album Year Genre Track Comment
do
id3[i]="`id3 -l -R "${tmp0}" | grep "$id3tag:" | awk -F': ' '{print $2}'`"
let ++i
done
# entferne ungueltige zeichen und setze alles auf klein buchstaben
artdir=`echo "${id3[2]}" | sed s/\ *$//g | sed s/'\*'//g | sed s/'\?'//g | sed s/'\/'/-/g | sed s/'\"'//g | tr '[A-Z]' '[a-z
]' | awk -F',' '{print $1}'`
albdir=`echo "${id3[3]}" | sed s/\ *$//g | sed s/'\*'//g | sed s/'\?'//g | sed s/'\/'/-/g | sed s/'\"'//g | tr '[A-Z]' '[a-z
]'`
# erzeuge das verzeichnis des artists
if [ ! -d "$predir$artdir" ]; then
mkdir "$predir$artdir";
fi
# erzeuge das verzeichnis des albums
if [ ! -d "$predir$artdir/$albdir" ]; then
mkdir "$predir$artdir/$albdir";
fi
# verschiebe die datei in das verzeichnis
mv "${tmp0}" "$predir$artdir/$albdir";
done