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 echo "Overrides (leave blank if no override)" read -p "Season? " so read -p "Episode? " 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 if [[ -z $eo ]];then e=`echo "$file" | grep -o -P "$escheme"` else 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