32 lines
802 B
Bash
32 lines
802 B
Bash
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
|