Alle 00:25, giovedì 30 marzo 2006, Sandro Tosi ha scritto: > Alcune note allo script: > > *** per la selezione dei file > > for INPUT in $(ls $ORIG); do > --> > for INPUT in $ORIG/* ; do
qual'é la differenza tra le due chiamate? funzionano entrambe, ma quale
delle due è preferibile usare?
AGGIORNAMENTO: con il tuo metodo il nome del file di input è del tipo:
.//nomefile
mentre con il mio è solamente
nomefile
quindi per questo progetto ritengo sia da usare il mio metodo...
> *** per RESULT
>
> RESULT=`/usr/bin/file $INPUT | grep $INFORMAT`
> # if [ -z $RESULT ]; then # perché mi da errore? result dovrebbe
> essere vuoto quando il file non è grafico.
>
> non ti da' errore... testi che sia di lunghezza 0, e per un file non
> grafico lo e', quindi entri nel then tutte le volte che non hai una
> foto... forse e' -n $RESULT da usare...
effettivamente è da usare il parametro -n, ma ho capito il motivo
dell'errore, mettendo solo $RESULT, cerca di eseguire il contenuto
della veriabile, per ottenere l'effetto voluto bisogna mettere
nell'IF "$RESULT" (nota i doppi apici) e quindi viene valutata la
striga che contiene il ritorno del comando precedente....
>
> METADATA=`identify -verbose $INPUT |grep "Date Time Original"`
> # if [ -z $RESULT ]; then #ho unn ritorno solo per quelle
> immagini che arrivano da una macchina fotografica.
>
> perche' verifichi questa condizione anche dopo? l'hai fatto prima e
> non cambi valore alla variabile
era un errore, in realtà volevo valutare il valore di $METADATA, che se
esiste contiene i dati che servono, altrimenti non è una immagine che
posso trattare...
>
>
> *** per la variabile di conteggio
>
> while [ -f NEWNAME ] #se esiste già il nome generato ne
> genero uno nuovo.
> #incrrementare $COUNT (devo guardarmi i tipi di dati in
> bash.) NEWNAME=$ANNO+$MESE+$GIORNO+$ORE+$MINUTI+"_"+$COUNT done
> -->
> while [ -f NEWNAME ] #se esiste già il nome generato ne
> genero uno nuovo.
> let COUNT=COUNT+1
> NEWNAME=$ANNO+$MESE+$GIORNO+$ORE+$MINUTI+"_"+$COUNT
> done
ho corretto la stringa e ora funziona bene, il problema ora è come
faccio con l'incremento di COUNT a mantenerlo formattato a 2 cifre?
>
>
> *** per il nome del file:
>
> cat afile | grep "Date Time Original" | sed 's/\.$//' | awk -F " " '{
> print $(NF-1)":"$NF }' | sed 's/:/-/g'
> 2005-12-03-09-01-07
per ora ho mantenuto il metodo che avevo fatto io, una volta che ho
testato che tutto il resto del programma funzioni, provo a cambiare il
modo di generare il nome del file...
>
> dove `afile' e' l'output che avevi mandato ieri; ti ho lasciato anche
> i secondi, se non li vuoi, puoi toglierlo per esecizio... ;))
ho alcune fotografie che sono state scattate in sequenza rapida, quindi
al di sotto del minuto, e i secondi in questo caso farebbero comodo per
mantenerli in sequenza, ma mi pare che il nome risulti ancora più
appesantito... magari usare un flag per far decidere all'utente se
usarlo o meno?
> Se vuoi qualche chiarimento, non hai che da chiedere!! ;)
certo che lo voglio, altrimenti non avrei continuato a postare... :D
>
> Prova a modificarlo cosi' e vediamo...
fatto, ora ho allegato una versione funzionante, anche se va rifinita in
tutte le parti dei comandi...
Byez
--
Gollum1
Tesssssoro, dov'é il mio tessssoro?
rename-photos.sh
Description: application/shellscript

