Я часто импортирую фотографии и видео (в основном с расширениями JPG и MOV) с цифровых камер и планшетов на мой компьютер, и в идеале я бы хотел, чтобы они были отсортированы по датам и времени, когда они были уже представлены в их данных EXIF. И, следовательно, мое желание переименовать их, желательно, используя простой скрипт Nautilus , предпочтительно вставляя метки даты и времени перед каждым именем файла.
До сих пор мне удалось собрать только следующий сценарий Наутилуса, который, я считаю, далек от совершенства:
for i in *.*
do
mv -i "$i" "$(exiftool -CreateDate "$i" | awk -F ': ' '{print $2}')_"$i""
done
В этом методе переименования мне не нравятся двоеточия, используемые в метках даты и времени EXIF (например, «2013: 09: 03 20: 55: 09_IMG_0108.JPG»), которые могут создавать проблемы при последующей передаче этих файлов в другие среды ( например, Windows).
Эта команда (использующая exiv2 вместо exiftool ) позволяет легко манипулировать метками даты и времени, но ее недостатком является то, что она не работает с видеофайлами (например, MOV) :
exiv2 -k -r '%Y-%m-%d_%H-%M-%S_:basename:' rename "$i"
Поэтому я надеюсь, что кто-то может найти лучшее решение. И было бы волшебно, если бы даже удалось преобразовать оригинальные имена файлов и расширения в нижний регистр!