Created
December 20, 2024 03:36
-
-
Save slickplaid/fda98a84ad95741ac42bb5c94ca7fa4a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -Eeo pipefail | |
trap cleanup SIGINT SIGTERM ERR EXIT | |
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) | |
cleanup() { | |
trap - SIGINT SIGTERM ERR EXIT | |
# script cleanup here | |
} | |
setup_colors() { | |
if [[ -t 2 ]] && [[ -z "${NO_COLOR-}" ]] && [[ "${TERM-}" != "dumb" ]]; then | |
NOFORMAT='\033[0m' RED='\033[0;31m' GREEN='\033[0;32m' ORANGE='\033[0;33m' BLUE='\033[0;34m' PURPLE='\033[0;35m' CYAN='\033[0;36m' YELLOW='\033[1;33m' | |
else | |
NOFORMAT='' RED='' GREEN='' ORANGE='' BLUE='' PURPLE='' CYAN='' YELLOW='' | |
fi | |
} | |
msg() { | |
echo >&2 -e "${1-}" | |
} | |
die() { | |
local msg=$1 | |
local code=${2-1} # default exit status 1 | |
msg "$msg" | |
exit "$code" | |
} | |
setup_colors | |
declare -A file_map | |
file_map["77ffba1c63ffaeb994b88f8822de1ba5dadc1bfb6fe93b61c2620a54d3e12f4d.mkv"]="Star.Trek.TNG.S05E01.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["5a744f3fefb6dce12bbd3713d1854f6a336f49447d062217a25fcecf99c1724b.mkv"]="Star.Trek.TNG.S05E02.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["1ea1671b188d9608f0c0f375db511efceb465b8fe445aaf3b19fb0442a74a1df.mkv"]="Star.Trek.TNG.S05E03.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["f058bbe059d29c4a87593aef21d11674013be0dec208db9d9e63358ab3553c51.mkv"]="Star.Trek.TNG.S05E04.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["2daeba9a07144f8380a1b1ac74075ad97496e383673a02ab479ef59b6c236456.mkv"]="Star.Trek.TNG.S05E05.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["1bdce8d90e55b33daf9f102133e8c8aeefea9e475298c34592914dbbdeee624d.mkv"]="Star.Trek.TNG.S05E06.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["8bd1305522ebec763bac3fce795b68639238b84f744847e5c9d2c506a5f1d0d2.mkv"]="Star.Trek.TNG.S05E07.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["51d8b190f94f8c2b9cadff99002669fe07e3459f1d72643a4a212654b6853ce8.mkv"]="Star.Trek.TNG.S05E08.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["065c860ffec737dc84903f8dda3a5ee137aa2612faecde5647b8d1159348ed15.mkv"]="Star.Trek.TNG.S05E09.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["80ffb1825d549737efb7a0e639166e0a1015610b8808056bdd1ddda28fbfcf35.mkv"]="Star.Trek.TNG.S05E10.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["380b6b373c409a89ed58860109d40e86dd04b92a69e574ca17a08805cdbe0868.mkv"]="Star.Trek.TNG.S05E11.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["d76499251faec4b904cdf396a7b34aa3af4290d1c804778d0f9c35d233846544.mkv"]="Star.Trek.TNG.S05E12.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["8d99932cb3e100d4f96643dbd67cda64dd91ed3ccd99b273454e1ff52c21caa5.mkv"]="Star.Trek.TNG.S05E13.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["e348d73f5d5f017e8022946ebab6a060e6096c7ee0c067581cf502c02c1cc5a4.mkv"]="Star.Trek.TNG.S05E14.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["a2611a494827e713e80a70660ad9bcb70cce0abcd109de04cafa6da2983a906c.mkv"]="Star.Trek.TNG.S05E15.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["29e9e785918dfe4cf66e3ab1a2111236983fa7930c770acf17f9542da5d10b92.mkv"]="Star.Trek.TNG.S05E16.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["22fc7c9d2e88a4ec44a05fb56ca11c059b93546edcb51e042696b7f685293466.mkv"]="Star.Trek.TNG.S05E17.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["8130c9c32dda5ed6a6b6099ccde6e3b645e363bdc3cf38a7ea2a8ce864a1b97f.mkv"]="Star.Trek.TNG.S05E18.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["cb35da026cdcf8ebc1101b5d47cf0da295a2828948240a6d62a0241f5612ebcd.mkv"]="Star.Trek.TNG.S05E19.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["1533dccad26a857136ea4c8d0bb35d6d3f177f4b2baecb6b3a7e43e517e213dd.mkv"]="Star.Trek.TNG.S05E20.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["7197c4589ae545229befd34110bd0cfe1163385bf366f36092754d47358361e0.mkv"]="Star.Trek.TNG.S05E21.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["e3d24d5038fb4fc1583301dcd75ad557c3c2b7a6ba3c7f4ae34fce9afc31e90c.mkv"]="Star.Trek.TNG.S05E22.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["74e43600de17d827e106db55350c0102151fa89fe6849819eae2aefc87ed1ab1.mkv"]="Star.Trek.TNG.S05E23.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["4c07e30872132c4349296640ffbff0ac831e0d069cda3783a08d7a95377cac94.mkv"]="Star.Trek.TNG.S05E24.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["656e711627f3dc8199f18ef9ff98c37b09da0d39a8ed1841151bcddd179c66c3.mkv"]="Star.Trek.TNG.S05E25.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
file_map["c9e08aaa3fce7094f82f1a99d4ad9e50cb0d184f232bafb7a13837347ac0e588.mkv"]="Star.Trek.TNG.S05E26.BluRay.1080p.AV1.OPUS.5.1-UH.mkv" | |
rename_files() { | |
local rename="$1" | |
while read -d '' -r path; do | |
base="${path##*/}" | |
[[ -n $file_map[$base] ]] || continue | |
dest=${file_map["$base"]} | |
[[ "$dest" ]] || continue | |
if [[ -z "$rename" ]]; then | |
msg "${GREEN}[FOUND]${NOFORMAT} $base -> $dest" | |
else | |
mv -v "$base" "$dest" | |
fi | |
done < <(find . -type f -name '*.mkv' -print0) | |
} | |
rename_files "" | |
read -r -p "Rename the above files? [y/N] " response | |
case "$response" in | |
[yY][eE][sS]|[yY]) | |
rename_files "true" | |
;; | |
*) | |
exit | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment