Se il tuo rename
non supporta -N
, puoi fare qualcosa del genere:
ls -1 -c | xargs rename -n 's/.*/our $i; sprintf("%04d.jpg", $i++)/e'
Modifica Per iniziare con un determinato numero, è possibile utilizzare il codice (un po 'brutto) di seguito, basta sostituire 123 con il numero desiderato:
ls -1 -c | xargs rename -n 's/.*/our $i; if(!$i) { $i=123; } sprintf("%04d.jpg", $i++)/e'
Questo elenca i file in ordine di tempo di creazione (prima il più recente, aggiungi -r
a ls per invertire l'ordinamento), quindi invia questo elenco di file da rinominare. Rinomina utilizza il codice perl nella regex per formattare e incrementare il contatore.
Tuttavia, se hai a che fare con immagini JPEG con informazioni EXIF, lo consiglierei exiftool
Questo è dalla documentazione di exiftool , sotto "Rinomina esempi"
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.