You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
#!/usr/bin/bash
|
|
|
|
# ---
|
|
# Given my normal naming scheme, creates a properly named folder,
|
|
# moves the vtt into it and renames everything.
|
|
#
|
|
# Normally something like:
|
|
# - <twitchId> - name [gigaohmbiological - <date>].vtt
|
|
# - <twitchId>,<twitchId22> - name [gigaohmbiological - <date>].vtt
|
|
#
|
|
# Need to change it to something like:
|
|
# - <twitchId> (<date>) - name.vtt
|
|
# ---
|
|
|
|
files=()
|
|
while (( "$#" )); do
|
|
files+=("$1")
|
|
echo Adding file: "$1"
|
|
shift
|
|
done
|
|
|
|
for ((i = 0; i < ${#files[@]}; i++)); do
|
|
suffix=""
|
|
file="${files[$i]}"
|
|
|
|
echo processing: $file
|
|
|
|
base="${file%.*}"
|
|
[[ "$base" =~ .*"fixed"$ ]] && base="${base%.*}" && suffix=".fixed"
|
|
[[ "$base" =~ .*"joined"$ ]] && base="${base%.*}" && suffix=".joined"
|
|
|
|
id="$(cut -d' ' -f1 <<< "$base")"
|
|
date="$(echo $base | cut -d'[' -f2 | cut -d']' -f1 | cut -d' ' -f3)"
|
|
|
|
stream="$(echo $base | cut -d' ' -f3- | cut -d'[' -f1)"
|
|
# Strip unnecessary dettails.
|
|
stream="${stream/"-- Brief "/""}"
|
|
# Trim trailing spaces
|
|
stream="${stream%"${stream##*[![:space:]]}"}"
|
|
|
|
folder="${id} (${date}) - ${stream}"
|
|
target="${folder}${suffix}.vtt"
|
|
|
|
[ ! -d "${folder}" ] && mkdir -v "${folder}"
|
|
mv -vi "${file}" "${folder}/${target}"
|
|
echo
|
|
|
|
# printf "\n base: $base \n date: $date \n id: $id \n stream: $stream \n"
|
|
# printf " folder: $folder \n target: $target \n\n"
|
|
|
|
done
|
|
|
|
|