43 lines
872 B
Bash
Executable File
43 lines
872 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
DRYRUN=false
|
|
DIR="."
|
|
|
|
# Argumenthantering
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--dry-run) DRYRUN=true ;;
|
|
*) DIR="$arg" ;;
|
|
esac
|
|
done
|
|
|
|
# Kontroll att katalogen finns
|
|
if [ ! -d "$DIR" ]; then
|
|
echo "Fel: katalogen '$DIR' finns inte"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Söker efter .nfo-filer i: $DIR"
|
|
$DRYRUN && echo ">>> DRY-RUN: inga filer tas bort <<<"
|
|
|
|
# Gå igenom alla .nfo-filer
|
|
find "$DIR" -type f -iname '*.nfo' -print0 |
|
|
while IFS= read -r -d '' nfo; do
|
|
base="${nfo%.*}"
|
|
|
|
# Matcha motsvarande .mp4 (case-insensitive)
|
|
shopt -s nullglob nocaseglob
|
|
mp4s=( "$base".mp4 )
|
|
shopt -u nocaseglob
|
|
|
|
if (( ${#mp4s[@]} == 0 )); then
|
|
if $DRYRUN; then
|
|
echo "[dry-run] would delete: $nfo"
|
|
else
|
|
echo "Deleting: $nfo"
|
|
rm -v -- "$nfo"
|
|
fi
|
|
fi
|
|
done
|