#!/bin/bash set -eu directory="" year="" function usage { retval="$1" case "$retval" in 0) ;; *) exec 1>&2 ;; esac echo "$0: --directory /dir/ect/ory --year 2017" exit "$retval" } while [ "$#" -ge 1 ] do case "$1" in --directory) directory="$2" shift ;; --year) year="$2" shift ;; --help|-h) usage 0 ;; *) echo "$0: unrecognized option: $1" 1>&2 usage 1 ;; esac shift done if [ "$directory" = "" ] then echo "$0: --directory is a required option" 1>&2 usage 1 fi if [ "$year" = "" ] then echo "$0: --year is a required option" 1>&2 usage 1 fi if ! [ -d "$directory" ] then echo "$0: $directory does not exist" 1>&2 usage 1 fi case "$year" in [0-9][0-9][0-9][0-9]) ;; [0-9][0-9][0-9][0-9][a-z]) ;; *) echo "$0: --year must be 4 decimal digits or a year with a single-character suffix" 1>&2 usage 1 ;; esac mv "$directory" "$year-$directory" mp3-album-year --year "$year" --files "$year-$directory"/*