#!/bin/bash SEARCH_DIR='/please/fill/with/a/valid/dir' [[ -d "${SEARCH_DIR}" ]] || exit 1 IFS=$'\n' for folder in $(find "${SEARCH_DIR}" -mindepth 3 -type d | sort -d) ; do EPISODES=() for fle in $(find "${folder}" -type f -name 'S??E??*.mkv' | sort -d) ; do ep_chunk="$(grep -Eo '^S[[:digit:]]{2}E[[:digit:]]{2}' <<< "${fle##*/}")" for episode in "${EPISODES[@]}" ; do if [[ "${ep_chunk}" == "${episode}" ]] ; then printf '%s\n' "Found possible dupe: ${fle}" continue 2 fi done EPISODES+=( "${ep_chunk}" ) done done