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.
scripts/clean_orphaned_trickplays.sh

32 lines
1.1 KiB

#!/bin/bash
set -e
# Main script logic
if [[ $# -eq 0 ]] || [[ ! -d "$1" ]]; then
echo "Usage: $0 <Sonarr root folder>"
exit 1
fi
ROOT_FOLDER="$1"
# Define media file extensions
MEDIA_EXTENSIONS="mp4|mkv|avi|mov|wmv|flv|webm|mpeg|mpg|m4v|3gp|3g2|vob|ogv|rm|rmvb|ts|f4v|m2ts|mxf|divx|hevc|asf|swf|drc|amv|yuv|qt|bik|vid|mve|nsv|roq|pmp"
find "$ROOT_FOLDER" -type d -iname "*\.trickplay" | while read -r TRICKPLAY_FOLDER; do
TRICKPLAY_FOLDER="$(realpath "$TRICKPLAY_FOLDER")"
MEDIA_BASE_NAME="$(echo "$TRICKPLAY_FOLDER" | basename "$(sed -E 's/.(trickplay)$//')")"
PARENT_PATH="$(dirname "$TRICKPLAY_FOLDER")"
ESCAPED_MEDIA_BASE_NAME=$(echo "$MEDIA_BASE_NAME" | sed 's/[][\.*^$(){}?+|&-]/\\&/g')
found_files=$(find "$PARENT_PATH" -type f -regextype posix-extended -regex ".*/${ESCAPED_MEDIA_BASE_NAME}\.($MEDIA_EXTENSIONS)$")
# Check if any files were found
if [[ -z "$found_files" ]]; then
echo "$TRICKPLAY_FOLDER"
# comment this line if you only want to see orphan trickplay folder without remove them.
rm -rf "$TRICKPLAY_FOLDER"
fi
done
~