28 lines
963 B
Bash
28 lines
963 B
Bash
#! /usr/bin/env nix-shell
|
|
#! nix-shell -i bash -p bash fd ripgrep
|
|
|
|
root=/mnt/pool/multimedia/media/Series
|
|
while IFS= read -r directory; do
|
|
while IFS= read -r season; do
|
|
season_episodes=()
|
|
while IFS= read -r episode; do
|
|
number="$(basename "$episode" |
|
|
rg --pcre2 -o "S\d+E\d+" |
|
|
rg --pcre2 -o "\d+$" |
|
|
awk '$0*=1')"
|
|
season_episodes+=($((number)))
|
|
done < <(fd . "$season" -tf -d1 \
|
|
-E '*.srt' \
|
|
-E '*.jpg' \
|
|
-E '*.nfo' \
|
|
-E '*.json')
|
|
dupe=$(printf '%s\n' "${season_episodes[@]}" | awk '!($0 in seen){seen[$0];next} 1')
|
|
if [[ -z $dupe ]]; then
|
|
continue
|
|
fi
|
|
echo "The episode $dupe is duplicated on $(basename "$season") of $(basename "$directory")"
|
|
echo "$season"
|
|
echo "_______________"
|
|
done < <(fd . "$directory" -td -d1)
|
|
done < <(fd . "$root" -td -d 1)
|