Tôi thường nhập ảnh và video (chủ yếu có phần mở rộng JPG và MOV) từ máy ảnh và máy tính bảng kỹ thuật số vào PC của tôi và tôi lý tưởng muốn xem chúng được sắp xếp theo ngày và giờ chúng được chụp trong dữ liệu EXIF của chúng. Và do đó, tôi muốn đổi tên tất cả chúng tốt nhất là sử dụng Tập lệnh Nautilus đơn giản bằng cách chèn tem ngày và thời gian trước mỗi tên tệp.
Cho đến nay tôi chỉ xoay sở để tập hợp Nautilus Script sau đây, điều mà tôi tin là không hoàn hảo:
for i in *.*
do
mv -i "$i" "$(exiftool -CreateDate "$i" | awk -F ': ' '{print $2}')_"$i""
done
Điều tôi không thích trong phương pháp đổi tên này là các dấu hai chấm được sử dụng trong tem ngày và thời gian EXIF (ví dụ: "2013: 09: 03 20: 55: 09_IMG_0108.JPG") có thể gây ra sự cố khi chuyển các tệp này sau sang các môi trường khác ( ví dụ: Windows).
Lệnh này (sử dụng exiv2 thay vì ExifTool ) thuận tiện cho phép thao tác của tem ngày tháng và thời gian nhưng nhược điểm của nó là nó không làm việc trên video (ví dụ như MOV) file :
exiv2 -k -r '%Y-%m-%d_%H-%M-%S_:basename:' rename "$i"
Vì vậy, tôi hy vọng ai đó có thể đưa ra một giải pháp tốt hơn. Và sẽ thật kỳ diệu nếu nó thậm chí còn có thể chuyển đổi tên tập tin gốc và phần mở rộng thành chữ thường!