Add All existing

This commit is contained in:
Hannes
2025-11-17 00:41:24 +01:00
parent e309cad1b4
commit af7ccb25b9
33 changed files with 2687 additions and 0 deletions

80
episode_numbers Executable file
View File

@@ -0,0 +1,80 @@
#!/bin/bash
LOG_DIR="/home/honney/.log"
LOG_FILE="${LOG_DIR}/rename.log"
mkdir -p "$LOG_DIR"
reverse_mode=false
if [[ "$1" == "reverse" ]]; then
reverse_mode=true
elif [[ -z "$1" ]]; then
echo "Usage: $0 {start_number} | reverse"
exit 1
fi
if $reverse_mode; then
if [[ ! -f "$LOG_FILE" ]]; then
echo "No log file found. Nothing to reverse."
exit 1
fi
current_dir=$(realpath .)
match_start=$(grep -n "=== $current_dir ===" "$LOG_FILE" | cut -d: -f1)
if [[ -z "$match_start" ]]; then
echo "No entries for this directory in the log."
exit 1
fi
sed -n "$((match_start + 1)),/^===/p" "$LOG_FILE" | grep -v "^===" | while IFS="|" read -r original renamed; do
if [[ -e "$renamed" ]]; then
mv -v "$renamed" "$original"
else
echo "Warning: '$renamed' not found. Skipping."
fi
done
echo "Reversal complete."
exit 0
fi
# Start of normal renaming
start_number=$1
counter=0
extensions=("mkv" "mp4" "avi" "mov" "jpg" "png")
files=()
for ext in "${extensions[@]}"; do
while IFS= read -r -d '' file; do
files+=("$file")
done < <(find . -maxdepth 1 -type f -iname "*.${ext}" -print0)
done
IFS=$'\n' sorted_files=($(printf '%s\n' "${files[@]}" | sort -rz | tr '\0' '\n'))
# Log the current session
current_dir=$(realpath .)
echo "=== $current_dir ===" >> "$LOG_FILE"
for file in "${sorted_files[@]}"; do
new_number=$(printf "%02d" $((start_number + counter)))
extension="${file##*.}"
base_name="E${new_number}"
new_name="${base_name}.${extension}"
suffix=1
# Avoid overwriting
while [ -e "$new_name" ]; do
new_name="${base_name}_$suffix.${extension}"
((suffix++))
done
mv "$file" "$new_name"
echo "${file}|${new_name}" >> "$LOG_FILE"
((counter++))
done
echo "Renaming complete! Changes logged to $LOG_FILE"