2 подписчика
Случайно был убит раздел с архивом фотографий, после восстановления получилась куча подкаталогов с файлами. На части файлов правильно восстановились даты.
Решил на первом этапе сортировки раскидать файлы по годам. Самому было лень думать попросил ChartGPT накидать скрипт на bash. Получил сразу рабочую версию. Исходный и конечный каталоги указываются прямо с скрипте.
#!/bin/bash
source_dir="/Volumes/ExDrive/PHOTO_OLD"
target_dir="/Volumes/ExDrive/PHOTO_NEW"
# Создаем целевой каталог, если он не существует
mkdir -p "$target_dir"
# Перебираем все файлы в исходном каталоге
find "$source_dir" -type f | while read -r file_path; do
# Получаем год создания файла
creation_year=$(stat -f "%Sm" -t "%Y" "$file_path")
# Создаем целевой каталог для этого года
year_dir="$target_dir/$creation_year"
mkdir -p "$year_dir"
# Получаем имя файла без расширения
file_name=$(basename "$file_path")
file_name_no_ext="${file_name%.*}"
file_ext="${file_name##*.}"
# Генерируем новое уникальное имя файла
new_file_name="$file_name_no_ext-$(date +%s).$file_ext"
# Полный путь нового файла
new_file_path="$year_dir/$new_file_name"
echo $file_path "->" $new_file_path
# Перемещаем файл в соответствующий каталог с новым именем
mv "$file_path" "$new_file_path"
done
echo "Файлы перемещены успешно."
1 минута
6 июня 2023