#!/bin/sh # check for flags for i in $@; do case "$i" in "-"*) unset DIRSFLAG LOCALFLAG ;; esac [ -n "$DIRSFLAG" ] && unset LOCALFLAG [ -n "$LOCALFLAG" ] && unset DIRSFLAG [ -n "$THUMBFLAG" ] && THUMBNAIL="$i" && unset THUMBFLAG [ -n "$FILEFLAG" ] && FILENAME="$(printf "$i\n$FILENAME" | paste -s -d'|')" && unset FILEFLAG case "$i" in "-d") DIRSFLAG="y" ;; "-l") LOCALFLAG="y" ;; "-t") THUMBFLAG="y" ;; "-f") FILEFLAG="y" ;; *) printf "Unrecognized flag! I only know -d and -l!\n" exit 1 ;; esac done [ -z "$THUMBNAIL" ] && THUMBNAIL="thumb.jpg" if [ -n "$DIRSFLAG" ]; then ls | while read i; do [ ! -d "$i" ] && continue ls "$i"| while read j; do [ ! -d "$j" ] && continue ls "$i/$j" | while read k; do [ ! -f "$k" ] && continue case "$k" in *.mp3 | *.flac ) mid3v2 -p "$i/$j/$THUMBNAIL" "$i/$j/$k" ;; esac done done done elif [ -n "$LOCALFLAG" ]; then [ -z "$FILENAME" ] && exit 1 IFS='|' for i in "$FILENAME"; do mid3v2 -p "$THUMBNAIL" "$i" done unset IFS fi