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.
32 lines
1.1 KiB
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
|
|
~ |