Często importuję zdjęcia i filmy (głównie z rozszerzeniami JPG i MOV) z cyfrowych aparatów fotograficznych i tabletów na komputer i idealnie chciałbym, aby były posortowane według dat i godzin, w których zostały już zapisane w danych EXIF. Dlatego pragnę zmienić ich nazwy, najlepiej używając prostego skryptu Nautilus , najlepiej wstawiając datę i godzinę przed każdą nazwą pliku.
Do tej pory udało mi się zebrać tylko następujący Skrypt Nautilusa, który moim zdaniem nie jest doskonały:
for i in *.*
do
mv -i "$i" "$(exiftool -CreateDate "$i" | awk -F ': ' '{print $2}')_"$i""
done
W tej metodzie zmiany nazwy nie podoba mi się dwukropek używany w znacznikach daty i godziny EXIF (np. „2013: 09: 03 20: 55: 09_IMG_0108.JPG”), które mogą powodować problemy podczas późniejszego przesyłania tych plików do innych środowisk ( np. Windows).
To polecenie (używając exiv2 zamiast exiftool ) wygodnie umożliwia manipulowanie znacznikami daty i godziny, ale jego wadą jest to, że nie działa na plikach wideo (np. MOV) :
exiv2 -k -r '%Y-%m-%d_%H-%M-%S_:basename:' rename "$i"
Mam nadzieję, że ktoś wymyśli lepsze rozwiązanie. Byłoby magiczne, gdyby udało się nawet przekonwertować oryginalne nazwy plików i rozszerzenia na małe litery!