Eğer rename
desteklemiyorsanız -N
, böyle bir şey yapabilirsiniz:
ls -1 -c | xargs rename -n 's/.*/our $i; sprintf("%04d.jpg", $i++)/e'
Düzenle Belirli bir numarayla başlamak için aşağıdaki (biraz çirkin görünümlü) kodu kullanabilirsiniz, 123 yerine istediğiniz numarayı girmeniz yeterlidir:
ls -1 -c | xargs rename -n 's/.*/our $i; if(!$i) { $i=123; } sprintf("%04d.jpg", $i++)/e'
Bu, dosyaları oluşturma süresine göre sıralar (önce en yenisi, -r
sıralamayı tersine çevirmek için ls'ye ekleyin ), sonra bu dosyaların listesini yeniden adlandırmak için gönderir. Yeniden adlandır sayacı biçimlendirmek ve artırmak için normal ifadede perl kodunu kullanır.
Ancak, EXIF bilgileri içeren JPEG resimlerle uğraşıyorsanız, tavsiye ederim exiftool
Bu, "Örneklerin Yeniden Adlandırılması" altındaki exiftool dokümanlarından alınmıştır.
exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e dir
Rename all images in "dir" according to the "CreateDate" date and time, adding a copy number with leading '-' if the file already exists ("%-c"), and
preserving the original file extension (%e). Note the extra '%' necessary to escape the filename codes (%c and %e) in the date format string.