if [ $# -ne 2 ];then echo "Usage: rename_episode.sh [source directory] [destination directory]" exit fi src=$1 dest=$2 echo "Schemes should be a regex of the form (?<=TEXT)\\d\\d(?=TEXT) where TEXT is uniquely identifying text" read -p "Season Scheme? " sscheme read -p "Episode Scheme? " escheme read -p "Series Name? " name read -p "Season Override? " so read -p "Episode Offset? " eo read -p "Dry Run (y/n)? " dry mkdir "$dest/$name" for file in "$src"/*; do if [[ -z $so ]];then s=`echo "$file" | grep -o -P "$sscheme"` else s=$so fi e=`echo "$file" | grep -o -P "$escheme"` if [[ ! -z $eo ]];then e=$((e+eo)) fi ext="${file##*.}" echo "ln '$file' '$dest/$name/$name.S$s.E$e.$ext'" if [ "$dry" != "y" ];then ln "$file" "$dest/$name/$name.S$s.E$e.$ext" fi done