Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env zsh
- # bin/dirn
- # Parameter ist Verzeichnis
- # Gibt Befehl zum umbenennen in normalen Verzeichnisnamen zurück
- whence mediainfo >/dev/null && true || return 1
- sdebug=0
- olddir=$1
- # Falls Slash fehlt, hinzufügen
- [[ $olddir != */ ]] && olddir="$olddir"/
- if [[ -d $olddir/CD1 ]]; then
- testdir="$olddir"CD1/
- elif [[ -d $olddir/cd1 ]]; then
- testdir="$olddir"cd1/
- elif [[ -d "$olddir""cd 1" ]]; then
- testdir="$olddir""cd 1/"
- else
- testdir=$olddir
- fi
- [[ $sdebug == "1" ]] && print Testdir: $testdir
- for i in $testdir*.mp3; do
- output=$(mediainfo -f "$i")
- [[ $sdebug == "1" ]] && print Analysiere Datei: $i
- # bei erster gefundenen Datei aus Schleife brechen
- [[ "$output" != "" ]] && break
- done
- for i in $testdir*.flac; do
- output=$(mediainfo -f "$i")
- [[ $sdebug == "1" ]] && print Analysiere Datei: $i
- # bei erster gefundenen Datei aus Schleife brechen
- [[ "$output" != "" ]] && break
- done
- [[ "$output" == "" ]] && return 1
- # Metadaten aus 'output' auslesen
- performer=$(print $output | grep '^Performer' | awk -F": " '{ print $2 }')
- album=$(print $output | grep '^Album ' | awk -F " : " '{ print $2 }')
- year=$(print $output | grep '^Recorded' | awk -F": " '{ print $2 }' | sed 's/UTC //' | cut -c -4 )
- [[ "$year" -eq 0 ]] && year="FIXDATE"
- [[ $sdebug == "1" ]] && print Newdir vor sed : "$performer - $album ($year)"
- # newdir zusammensetzen und invalid chars mit "_" ersetzen
- newdir=$(print "$performer - $album ($year)" | sed -e 's/[|\<>%?^:*\/]/_/g')'/'
- [[ $sdebug == "1" ]] && print Newdir nach sed: print "$newdir"
- [[ "$newdir" != */ ]] && return 1
- if [ "$olddir" = "$newdir" ]; then
- print "# $olddir ist korrekt"
- #elif [ "$(echo $newdir | rev | cut -c -2 | rev) != ')/'" ]; then
- #echo irgendwas ist kaputt
- else
- print 'mv -vi "'$olddir'" "'$newdir'"'
- fi
- # vim:filetype=zsh foldmethod=marker autoindent expandtab shiftwidth=2
Advertisement
Add Comment
Please, Sign In to add comment