for fil in *.JPG; do datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2"_"$3 }' | sed s%:%_%g)"; mv -v $fil $datepath.jpg; done
Эта команда использует цикл для переименования всех файлов с расширением .JPG в текущем каталоге, добавляя к имени файла дату, извлеченную из метаданных каждого файла.
Пояснение по шагам:
1. for fil in *.JPG; do — начало цикла, который будет выполняться для каждого файла с расширением .JPG в текущем каталоге.
2. datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2"_"$3 }' | sed s%:%_%g)" — извлекает дату съемки из метаданных файла с помощью утилиты ImageMagick (identify). Затем используются утилиты grep, awk и sed для обработки строки и создания нового имени файла.
3. mv -v $fil $datepath.jpg — выполняется команда переименования файла (mv), где $fil — текущий файл, а $datepath.jpg — новое имя файла, составленное из даты и расширения .jpg.
4. done — окончание цикла.
Эта команда полезна для структурирования и классификации большого количества фотографий по датам снимков. Альтернативой может быть использование программных средств для управления фотоколлекциями, таких как Adobe Lightroom или digiKam. Аргументы команды — отсутствуют.
