lunedì 12 novembre 2012

Rinomina sequenze di immagini

Se abbiamo delle sequenze di immagini con singoli file con nome
Image1_altro.ppm

Image10_altro.ppm
Image123_altro.ppm
In pratica con un prefisso, un numero non formattato e un suffisso,


e vogliamo rinominarle come
Image_altro0001.ppm
con solo un prefisso e un numero con un ben definito numero di cifre possiamo fare:


1. togliamo il suffisso
rename 's/_altro//' *
2. togliamo il prefisso
rename 's/Image//' *
3. a questo punto abbiamo le immagini solo con i numeri in questo modo:
1.ppm 10.ppm 123.ppm
possiamo con foreach di tcsh rinominarle formattando anche il numero di cifre:
foreach i ( *.ppm )
foreach? cp $i `printf "Image_altro%04d"$i`
foreach? end

Passo passo:

per ogni file di tipo ppm presente nella cartella

foreach i ( *.ppm )

copio il file con nome $i (es. 1.ppm) in un file che ha nome Image_altro0001.ppm
con il comando tra apici `printf` che viene eseguito prima di cp
con il nome dell'immagine trasformata con il prefisso Image_altro che era il prefisso desiderato
foreach? cp $i `printf "Image_altro%04d"$i`

Per concludere il foreach mettiamo end
foreach? end

Nessun commento:

Posta un commento