Re: Rinominare fotografie.
On Mon, 27 Mar 2006 21:48:11 +0100
Gollum1 <gollum1@tiscali.it> wrote:
> Alle 22:55, lunedì 27 marzo 2006, giuliano ha scritto:
> > [cut]
> >
> gollum1@montefato:~$ identify -verbose 03122005.jpg
> 03122005.jpg JPEG 1280x960 DirectClass 349kb
> Image: 03122005.jpg
> Format: JPEG (Joint Photographic Experts Group JFIF format)
> Geometry: 1280x960
> [...]
> Date Time Original: 2005:12:03 09:01:07.
> Date Time Digitized: 2005:12:03 09:01:07.
> [...]
>
> come vedi con il verbose fornisce una miriade di dati (che ho eliminato
> in questo caso perché non innerenti al problema), come vedi esiste il
> Date Time Original che fornisce tutti i dati di cui ho bisogno.
prendo atto :)
> devo trovare il modo di estrarre solo i dati che mi servono (anno mese
> giorno ora e minuti) e comporli in una unica stringa, che poi verrà
> usata come base per il nome del file stesso...
>
> certo... sarebbe certo meglio se fosse tutto in un unico passaggio,
> senza file di appoggio...
questo potrebbe essere facile, ad es.:
#! /usr/bin/perl -w
my @files = `identify -verbose *.jpg`;
for my $i (0 .. @files-1) {
print "$i: $files[$i] \n";
}
die;
ti dovrebbe dare tutti gli output nell'array @files;
> per estrarre i dati, pensavo di usare sed e awk, ma ancora non ci sono
> arrivato...
come vedi uso a malapena perl, di sed e awk non so :)
> dovrebbe esserci anche un controllo che il nome che si va a generare non
> esista già, nel qual caso inserire un _: e un numero incrementale....
>
> appena ho di nuovo un po' di tempo ci rpenso su... poi vi faccio
> sapere...
continuando l'ipotesi di prima dovresti controllare l'output se
contiene qualche pattern utile a separare ulteriormente ogni
stringa, nel caso del perl, ad es. @params = split /\s+/, $files
[$i] o split /\n/, $files[$i]; dovresti poi controllare quale
$params[$k] contiene la stringa "Date Time Original:" e
prelevarne la data, ad es. 2005:12:03 09:01:07; anche qui
potresti togliere l'ora oppure prelevare l'anno, il mese ed il
giorno se vuoi ricomporli in modo diverso, ecc...
> Byez
> --
> Gollum1
ciao, giuliano
PS: non e' certo il piu' bello e pulito codice (sono un
programmatore domenicale), pero' di solito prima cerco di
risolvere un problema e poi l'affino e quindi mi comporto di
conseguenza.... :)
Reply to: