Jika Anda rename
tidak mendukung -N
, Anda dapat melakukan sesuatu seperti ini:
ls -1 -c | xargs rename -n 's/.*/our $i; sprintf("%04d.jpg", $i++)/e'
Sunting Untuk mulai dengan angka yang diberikan, Anda dapat menggunakan kode (agak jelek) di bawah ini, cukup ganti 123 dengan nomor yang Anda inginkan:
ls -1 -c | xargs rename -n 's/.*/our $i; if(!$i) { $i=123; } sprintf("%04d.jpg", $i++)/e'
Ini mencantumkan file dalam urutan waktu pembuatan (terbaru lebih dulu, tambahkan -r
ke ls untuk membalikkan urutan), kemudian mengirimkan daftar file ini untuk mengganti nama. Ganti nama menggunakan kode perl di regex untuk memformat dan menambah penghitung.
Namun, jika Anda berurusan dengan gambar JPEG dengan informasi EXIF, saya akan merekomendasikan exiftool
Ini dari dokumentasi exiftool , di bawah "Mengganti Nama Contoh"
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.